一个Django项目挂到服务器上的过程
那全都是血与泪呀,弄得头都大了,各种问题,那真是百花齐放,百家争鸣,放弃了一阵子,后来又收到鼓舞,重新搞了一下,真的是老天不负有心人啊,终于终于终于ok了。真的是舒服了!!!
提示:工具使用的是Xshell和Xftp
文章目录
- 一个Django项目挂到服务器上的过程
- 前言
- 一、python3的安装
- 二、将项目压缩上传到服务器
-
- 1.首先将项目在项目根目录下,执行以下命令收集安装的包,就是生成一个包的清单文件plist.txt。
- 2.将整个项目打包上传到服务器
- 3.用命令将Django所需要的库装上
- 4.修改setting文件
- 5. 数据库迁移
- 6.用`python3 manage.py runserver 0.0.0.0:8000`运行下Django项目,看看能不能正常启动
- 三、nginx和uwsgi的安装
-
- 1、下载nginx安装包
- 2、把压缩包解压到你指定的文件下(usr/local/java)下
- 切换到cd 你指定文件下面的(usr/local/java)/nginx-1.9.9/下面输入下面的命令
- 四.nginx和uwsgi的配置!!!
-
- 1、配置nginx
- 2.配置uwsgi文件
- 五. 启动nginx和uwsgi服务
- 总结
前言
要注意Linux本地的python 和pip 都是默认的2版本,你要指定为python3和pip3 才可以!!! 不然你会遇到很多很多错误!!!还有端口号的问题,一定要把端口提前打开!!!这次我用的是8000端口。
附上端口号截图:
这次是在CentOS7服务器上搭建的,用到了nginx和 uWSGI,因为这个项目没用到数据库,就没有装mysql,需要的可以自行百度
提示:以下是本篇文章正文内容,下面案例可供参考
一、python3的安装
Django项目需要python3环境才能运行的
yum install python3
二、将项目压缩上传到服务器
1.首先将项目在项目根目录下,执行以下命令收集安装的包,就是生成一个包的清单文件plist.txt。
pip3 freeze > plist.txt
2.将整个项目打包上传到服务器
首先,你要解压哦~
注意文件位置和项目文件名称,最好新建一个文件位置
上边为项目位置,下边那个为项目名称,到后面配置文件有用!
3.用命令将Django所需要的库装上
pip3 install -r plist.txt
这里我后面运行Django出现了下面这个问题:
因为我Django版本用的是2.x版本的,在运行时报了这个错误,
解决方法:
- 给Django版本降级
-
pip uninstall django
-
即可解决问题pip install django==2.1.7
4.修改setting文件
这边建议直接允许所有人访问,方便,避免一些问题
5. 数据库迁移
python3 manage.py migrate
使数据库状态与当前模型集和迁移集同步。其实就是将对数据库的更改,主要是数据表设计的更改,在数据库中真实执行。例如,新建、修改、删除数据表,新增、修改、删除某数据表内的字段等等。
6.用 python3 manage.py runserver 0.0.0.0:8000
运行下Django项目,看看能不能正常启动
python3 manage.py runserver 0.0.0.0:8000
`在这里插入代码片`
三、nginx和uwsgi的安装
1、下载nginx安装包
wget http://nginx.org/download/nginx-1.9.9.tar.gz
2、把压缩包解压到你指定的文件下(usr/local/java)下
tar -zxvf nginx-1.9.9.tar.gz
切换到cd 你指定文件下面的(usr/local/java)/nginx-1.9.9/下面输入下面的命令
./configure
make
make install
到此就安装完成,配置到后面说
## 安装uwsgi
pip3 install uwsgi
EZ
到了最最最气人的地方了,我以前就在这气得要死,就是配置!!!!
记得要看log,这个能看到很多问题
Linux命令:
tail -f error.log
调试的时候,估计还得用到杀死进程的命令,我也给你写着这了
命令:
id 可以用查看进程的找
Linux命令:
ps -ef | grep nginx
四.nginx和uwsgi的配置!!!
1、配置nginx
配置文件方式:vi 进入,按i修改,后按ESC 加:wq 退出保存
- 切换到/usr/local/nginx安装目录,在conf下找到nginx.conf文件
- 开始配置
端口号和公网ip是关键,还有就是项目路径,再就是要建立日志,附上我的样本
2.配置uwsgi文件
- 在项目manage.py 下新建一个Django.ini文件(名字随便起)
- 注意端口与Nginx配置的相同、项目地址、module名,还有log、pid文件路径换成自己的
- log和pid是自己生成的,路径写对就行
五. 启动nginx和uwsgi服务
- 切换目录到/usr/local/nginx/sbin下面
启动nginx:
./nginx
查看nginx服务是否启动成功
ps -ef | grep nginx
2.启动uwsgi
uwsgi命令:
要到那个路径下哦~
启动:uwsgi --ini uwsgi.ini
停止:uwsgi --stop uwsgi.pid
重启:uwsgi --reload uwsgi.pid
然后就直接访问你的公网ip就能见证奇迹了
总结
这些写着简单,但确实确实给我上了一课,真的有很多很多未知的错误。
- 版本确实会带来很多很多问题,人生建议:版本不能太新!
- 路径一定要搞清楚。
- 端口号也很晕了
- 问题大多都是没搞明白,这个东西是干什么的,在做东西的时候,要先搞明白这个东西是干什么的 ,起什么作用。
-
很庆幸,自己没放弃搞这个,后面把这些搞明白了,自然就简单了,慢慢来吧,捣鼓这些也很有收获,起码Linux的操作学的差不多了~嘻嘻
加油菜鸡
贴张冰冰镇帖