django nginx uwsgi 阿里云部署 填坑经历

断断续续搞了两天,总算是实现了。

一 uwsgi

1. 首先,无用的是worldpress, 它默认带的apache, 会占用80端口,这一点坑了我好久, mmp

netstat -lnp|grep 80

查看占用80端口的程序, 然后 kill -9 id      , netstat -lnp|grep 80, 再看一下, 还可能没杀死, 再杀, mmp

2. 在django项目的文件里新建个 blog.ini , 名字无所谓, 与manage.py同级,

在blog.ini 里写入 

 

垃圾 : 注意不要加注释 否则报错找不到文件 mm

[uwsgi]
chdir = /data/blog              # blog.ini  所在的位置
module = blog.wsgi:application  # 相对chdir, django的wsgi, 所在的位置

master = true
processes = 4
harakiri = 60
max-requests = 5000
socket = 127.0.0.1:8000
pidfile = /data/blog/master.pid
daemonize = /data/blog/blog.log
vacuum = true
disable-logging = true
uid=nginx 
gid=nginx
wsgi-file = /data/blog/blog/wsgi.py

然后进入到它所在的位置, 执行

[root@iz2zeczv3xrnm2jx6aayhxz blog]#  uwsgi --ini blog.ini

执行它,然后  ps -aux | grep uwsgi     查看运行情况, 要是只用一个进程, 就凉凉了。

 

二 配置nginx, 这的坑太多了, 按照网上教程搞了很多, 都失败了, 自己也配置了很多, 也不知道那些是有用的操作,那些是没必要的,总之, 总算跑起来了。

首选我没有sites-available,和 sites-enabled两个文件夹, 在/etc/nginx 里新建两个文件夹, 然后在nginx.conf 里的http {}  里加了

include /etc/nginx/sites-enabled/*;  这一句。

然后在sites-available里,新建个叫blog.conf的文件,写入

server {
    listen 80;
    server_name blog;
    charset utf-8;
    error_log       /data/blog/blog_error.log;

    client_max_body_size 75M;
    location /static {
         alias /data/blog/static;
   }
    location /media {
         alias /data/blog/media;
   }
	 
    location / {
          uwsgi_pass 127.0.0.1:8000;
          include /etc/nginx/uwsgi_params;
   }

}

然后进入到 /etc/nginx

执行  ln -s /etc/nginxsites-available/blog.conf  /etc/nginx/sites-enabled/blog.conf     创建软连接

因为不知道,哪出现问题了, 我又在nginx.conf.default 里加了上面的sever配置

然后进入到了,ngnix 的位置

执行service nginx restart

访问自己的ip,总算成功了

 

补充, 按上面的配置, 访问admin, 会出现没有样式,

还要进一步修改配置,

在和static 同级下, 新建个文件, 我叫它 nginx_static,

然后打开django 的settings文件 ,加下一句

STATIC_ROOT='/home/myweb/nginx/static/'    #添加收集静态文件的目录

 

修改nginx的配置


 location /static {
               alias /data/blog/nginx_static;
}

然后执行, 收集静态文件, 包括admin和其他所有的静态文件都会被收集到指定的位置, 

python manage.py collectstatic

重启nginx, ok

service nginx restart

 

补充:

正常关闭uwsgi  uwsgi  --stop  /路径/master.pid
重新加载uwsgi  uwsgi  --reload  /路径/master.pid
强制关闭全部进程  ps -aux | grep uwsgi | awk '{print $2}' | xargs kil

 

我修改了一部分views代码, 发现不能实时更新, 执行了service nginx restart, 只有前端有更新,

又执行了uwsgi  --reload  /路径/master.pid, 可以了, 引以为戒  还必须先重启nginx

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值