1. 配置服务器
安装django,python等服务–尽量和你的自己的配置相同,一摸一样避免出现问题
2.django项目迁移
sudo scp /home/tarena/django/mysitel root@88.77.66.55:/home/root/xxx
#然后输入密码
3,用uWSGI
替代python manage.py runserver 方法启动服务器
WSGI是什么,服务接口,在django和http交互,重要的桥梁
uWSGI是一种WSGI的一种,实现了http协议,WSGI协议,以及uwsgi(二进制,全小写,uWSGI自己实现的)
uWSG是以学习配置为主
uWSGI安装
#Ubuntu
sudo pip3 install uwsgi==2.0.18 -i httpsL//pyppi.tuna.tsinghua.edu.cn/simple/
#检查是否安装成功
sudo pip3 freeze|grep -i 'uwsgi'
#如果安装成功,则会输出uWSGI==2.0.18
配置uSWGI
-
添加配置文件 项目同名目录下/uwsgi.ini
-
#uwsgi文件配置 [uwsgi] #ip地址:端口号,两种模式,用http socket=127.0.0.1:8000 http=127.0.0.1:8000 #项目当前工作目,必须绝对路径 chdir=/ohme/tarena/.../my_project #项目中wsgi.py文件的目录,相当于工作目录 wsgi-file=my_project/wsgi.py#相对于chdir的相对路径 #进程个数 process=4 #每个进程的线程 threads=2 #pid记录文件 pidfile=uwsgi.pid #服务的日志文件位置 daemonize=uwsgi.log #开启主进程管理模式 master=true ##特殊说明:django的settings.py需要做如下配置 #1,修改settings.py 将DEBUG=True改为DEBUG=False #2,修改setting.py将ALLOWED_HOSTS=[]改为ALLOWED_HOSTS=['网站域名']或者['服务监听的ip地址']---公网ip或者域名
启动uwsgi
-
cd到uWSGI配置文件所在目录
-
uwsgi --ini uwsgi.ini
停止uwsgi
- cd到uWSGI配置文件所在目录
- uwsgi --stop uwsgi.pid
-
查看是否启动或停止
- ps aus|grep ‘uwsgi’
测试
- 输入http://127.0.0.1:8000/url进行测试
- 此时由uWSGI进程启动
4,iWSGI常见问题
1,启动失败:端口占用
sudo Isof -i:端口号,查出进程,杀掉:sudo kill -9 pid
2,停止失败
重复启动,导致pid被换了
ps到处进程号,直接kill进程
3,没找到项目
配置的UWSGI.ini位置错误
5,配置ngix反向代理服务器
负载均衡,反向代理和HTTP代理
推荐用uwsgi,二进制更紧凑
sudo apt install nginx
#如果速度慢,换国内源
vim /etx/cap/sources.list
#更改国内源
sudo apt-get uodate
#上述过程自行百度
#安装完毕后-ngnix -v查看版本
配置
修改nginx的配置文件 /etc/nginx/sites-enableed/default;
#在server节点下添加新的location项,指向uwsgi的ip和端口
server {
...
location / {
uwsgi_pass 127.0.0.1:8000;#重定向到127.0.0.1的8000端口
include /etc/nginx/uwsgi_params;#将所有的参数转到uwsgi下
}
}
启动
$sudo /etc/init/d/nginx start|stop|restart|status
#或
$sudo server nginx start|stop|restart|status
启动 -sudo /etc/
检查语法问题
#检查语法
sudo nginx -t
改完nginx后还需要改一下uWSgI
[uwsgi]
#http=127.0.0.1:8000改为
socket=127.0.0.1:8000
6,ngix
常见问题
502
404
配置静态文件路径,解决静态路径问题
- static目录更换
#在settings里面增加一个,STATIC_ROOT='当前目录下/项目名_static/static'
#文件夹记得提前mkdir(创建)好
#运行static更新
python3 manage.py collectstatic
-
配置nginx寻找static路径
#sudo vim进入default文件,配置server server { location /static{ root /home/tarena/mysite7_static; } }
- 配置结束,重启
sudo /etc/init.d/nginx rest
n1-