前提:如果你已经使用apache部署过了并且使用了80端口,请务必先将80端口修改。因为nginx默认也为80端口,安装途中会报错。
1.安装nginx+uwsgi
安装nginx:sudo apt-get install nginx
使用:ps aux|grep nginx
可以查看启动情况
安装uwsgi需要安装python虚拟环境, 自行百度,虚拟环境安装成功后,进入虚拟环境。
安装uwsgi:pip install uwsgi
测试uwsgi,uwsgi --http :8000 --module Mxoline.wsgi
(名字千万不要写错)<----在python虚拟环境下,进入项目的根目录下,(在wsgi.py的上一层文件夹)
2.配置nginx文件
1.新建一个配置文件
mkdir conf新建一个conf文件夹
vim uc_nginx.conf
在uc_nginx.conf中插入
新建uc_nginx.conf
#the upstream component nginx needs to connect to
upstream django {
server 127.0.0.1: 8000;
}
#configuration of the server
server {
#the port your site will be served on
listen 80;#the domain name it will servefor
server_name 你的ip地址;#substitute your machine 's IP address or FQDN
charset utf - 8;
#max upload size
client_max_body_size 75 M;#adjust to taste
# Django media
location / media {
alias 你的目录/Mxonline/media;#指向django的media目录
}
location / static {
alias 你的目录/Mxonline/static;#指向django的static目录
}
# Finally, send all non - media requests to the Django server.
location /{
uwsgi_pass django;
include uwsgi_params;#the uwsgi_params file you installed
}
}
将该配置文件加入到nginx的启动配置文件中
sudo ln -s 你的目录/Mxonline/conf/nginx/uc_nginx.conf /etc/nginx/conf.d/
或者拷贝文件到/etc/nginx/conf.d/下.
3.迁移django的静态文件
在django的setting文件中,添加下面一行内容:
STATIC_ROOT = os.path.join(BASE_DIR, 'collectstatic/')
运行命令
python manage.py collectstatic
4.配置uwsgi文件
新建uwsgi.ini 配置文件, 内容如下:
# mysite_uwsgi.ini file
[uwsgi]
# 项目路径
chdir = /home/update_blog
# 虚拟环境
home = /home/py3env
# 项目wsgi
module = update_blog.wsgi.application
# 主程序
master = True
# 设置进程数
processes = 4
# 超时时间
harakiri = 60
# 最大请求数
max-requests = 5000
socket = 127.0.0.1:8001
uid = 1000
gid = 1000
# 对主程序进行关闭或启动
pidfile = /home/conf/master.pid
daemonize = /home/conf/mysite.log
vacuum = True
保存
在uwsgi.ini所在目录下执行uwsgi --ini uwsgi.ini
成功
其他命令:
sudo nginx start
#运行nginx
sudo nginx -s reload
#重启nginx
后台运行nohup uwsgi --ini uwsgi.ini
查看后台uwsgi运行状态 ps -ef | grep uwsgi
重启uwsgi就是关闭它占有的端口
查询端口:lsof -i :你要查的端口
例如:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
uwsgi 2208 tu 4u IPv4 0x53492abadb5c9659 0t0 TCP *:teradataordbms (LISTEN)
uwsgi 2209 tu 4u IPv4 0x53492abadb5c9659 0t0 TCP *:teradataordbms (LISTEN)
这时根据 PID 可以用下面的命令 kill 掉相关程序:
sudo kill -9 2208 2209或者pkill -f uwsgi
评论列表
已有0条评论