首先我的操作系统是ubuntu-18.04-desktop-amd64,Django1.11,Python3.56,nginx和uwsgi是直接下载的最新版(2018-11-18下载的)。
一.连接远程服务器
一般购买的服务器都会默认可用xsheel等工具连接。 在虚拟机上实验或者服务器没有开启远程连接权限的可参考-->[ \[ubuntu上实现远程访问和ftp文件上传\]](http://www.manbanzhen.top/?p=84)[(安全要求高的话可以另找方法,因此方法开启的是root权限)
二.安装python环境
安装python3 sudo apt-get install python3 安装pip3 sudo apt-get install pip3
PS:可以在此步骤设置虚拟环境,我在服务器上试了几次没成功,就没有配置虚拟环境,故略过。(配置虚拟环境和不配置基本区别不大(别喷))
三.把项目打包完成传到服务器存放的文件夹
1.远程传输到服务器上可以参考
2.远程服务器或虚拟机开启远程文件传输方法: [ubuntu上实现远程访问和ftp文件上传][2](同样,安全要求高的话略过,一般购买的服务器都会配置好的)
四.安装所需数据库和所需要的库
1.安装数据库(我用的mysql)
sudo apt-get update
sudo apt-get install mysql-server
2.安装django(我用的版本是1.11)
sudo apt-get install django==1.11
3.导出环境所需要的所有库的名称
切换到项目目录
1.cd /home/manbanzhen/myproject/
导出项目所需的所有库
2.pip3 freeze > requirements.txt(这时在我们项目文件夹中会出现一个 requirements.txt 的文件)
安装需要的库
3.sudo pip3 install -r requirements.txt
(python3 manage.py runserver < --> 测试是否所需的环境都安装成功)
五.创建静态文件文件夹并收集静态文件
在项目文件夹下创建文件夹:mkdir static_file 在setting.py文件中 添加 STATIC_ROOT = 'static_file文件夹的绝对路径' 然后执行: python manage.py collectstatic (收集静态文件)
六.安装uwsgi
sudo pip3 install uwsgi
安装成功之后,我们进入项目根目录/home/mabanzhen/projects新建一个 uwsgi.ini 文件,在里面输入代码:
要留意里面的项目路径和指定uwsgi文件,看清楚你的文件路径填写。
七.创建数据库及同步数据库
1.进入数据库,创建相应名称的数据库 2.在setting.py中修改对应的数据库连接信息 3.同步和迁移数据库 python3 manage.py makemigrations python3 manage.py migrate
八.下载nginx并配置
sudo apt-get install nginx cd /etc/nginx 修改 nginx.conf
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TktpLxAE-1586312340785)(http://www.manbanzhen.top/wp-content/uploads/2018/11/1.png)]
注意项目路径和静态资源的文件路径。
server_name:这里填你的域名或IP。
(上图中是我截图别人的)
进入/usr/local/nginx/sbin/目录
执行下面语句启动
nginx ./nginx
九.启动uwsgi
切换进入到项目的根目录
cd /home/manbanzhen/myproject/
启动
uwsgi --ini uwsgi.ini
现在就可以在浏览器中输入你的域名或IP可以访问啦!!!
uwsgi相关命令:
uwsgi --ini uwsgi.ini 启动项目 uwsgi --stop uwsgi.pid 停止项目 uwsgi--reload uwsgi.pid 重启项目
nginx相关命令:
cd /usr/local/nginx/sbin/ ----- ./nginx ----- 启动nginx cd /usr/local/nginx/sbin/ ----- ./nginx -s reload ----- 重启nginx ps--ef|grep nginx ----- 快速停止 kill -TERM 2132 或 kill -INT 2132 ----- 杀死进程 pkill -9 nginx ----- 强制停止
以上是我在Ubuntu上部署Django项目时的一些笔记;可能会存在一些错误,如果发现,请底下评论联系我,我将积极进行修改。 参考资料链接:
https://www.django.cn/article/show-22.html
https://www.cnblogs.com/codingcloud/p/5095066.html
https://blog.csdn.net/fengzq15/article/details/78633827
https://blog.csdn.net/nancy50/article/details/81080693
还有一些参考未放上来,感谢所有。