天天看点

django生产环境部署(三):启动uwsgi和nginx,收集静态文件

Uwsgi和Nginx

见前2篇文章

首先要配置好nginx.conf,或者在nginx.conf新建一个xxx.conf(nginx.conf会读取所有*.conf的文件)

# 在nginx.conf的所在目录新建:随意名.conf
# 我的目录在/etc/nginx,安装方式不同可能不一样
# 找不到就find|grep nginx.conf
server {
        listen 80;
        server_name  www.xxx.xxx; #改为自己的域名,没域名修改为127.0.0.1:80
        charset utf-8;
        location / {
           include uwsgi_params;
           uwsgi_pass 127.0.0.1:8000;  							#端口要和uwsgi里配置的一样
           uwsgi_param UWSGI_SCRIPT bmxf.wsgi;  	#wsgi.py所在的目录名+.wsgi
           uwsgi_param UWSGI_CHDIR /home/arrow/bmxf; 	#项目路径
           
        }
        location /static {
        alias /home/arrow/bmxf/static/; #静态资源路径
        }
    }
    
           

收集静态文件

如果不收集静态文件页面是没有样式的哦

# settings.py
STATIC_ROOT  = os.path.join(BASE_DIR, 'static')     #指定样式收集目录,部署django项目的时候需要用到STATIC_ROOT
           

然后执行

python manage.py collectstatic

django生产环境部署(三):启动uwsgi和nginx,收集静态文件

完成!

Uwsgi和Nginx重启方法:

修改Django文件和其它配置文件之后,一定要重启Uwsgi和Nginx
#查看Uwsgi进程
ps -ef|grep uwsgi 
#用kill方法把uwsgi进程杀死,然后启动uwsgi
killall -9 uwsgi
#启动方法(在虚拟环境中)
uwsgi -x mysite.xml			# 若是xml配置
uwsgi --ini /opt/app/devops/uwsgi.ini --daemonize /tmp/uwsgi.log	# 若是ini配置

# 
# 如果用yum install命令安装的,yum命令会自动创建nginx.service文件,直接用命令
systemctl restart nginx.service # stop and start