Nginx+uwsgi+Django

1、安装uwsgi

2、安装nginx

3、配置nginx:

cd /etc/nginx/conf.d/
配置xxx.conf
server{ 
		listen 80;   # 监听端口
		server_name localhost ; # 域名
		access_log /var/log/nginx/access.log main; 	# Nginx日志配置
		charset utf-8; 		# Nginx编码
		gzip_types text/plain application/x-javascript text/css text/javascript application/x-httpd-php application/json text/json image/jpeg image/gif image/png application/octet-stream; # 支持压缩的类型

		error_page 404 /404.html;             	# 错误页面
		error_page 500 502 503 504 /50x.html; 	# 错误页面

		# 指定项目路径uwsgi
		location / { 
				include uwsgi_params; 		# (需要提前准备好文件)导入一个Nginx模块他是用来和uWSGI进行通讯的
				uwsgi_connect_timeout 30; 	# 设置连接uWSGI超时时间
				uwsgi_pass unix:/opt/proj/script/uwsgi.sock; 	# 方式1,对应uwsgi.ini中的socket
				uwsgi_pass 127.0.0.1:9090			# 方式2,对应uwsgi.ini中的socket
		}

		# 指定静态文件路径(如果还有media等配置类似)
		location /static/ {
				alias /opt/proj/teacher/static/;
				index index.html index.htm;
		}
}

补充:

location /static/ {
				alias /opt/proj/teacher/static/;
				index index.html index.htm;
}

这里的静态文件没有包括admin后台的静态文件,
因为admin后台的静态文件在Django自己的路径,
所以,如果要加载全部的静态文件,这里需要先
收集所有的静态文件,然后将这里的路径改为收集后的路径。 

 

收集所有的静态文件的路径:
STATIC_ROOT=os.path.join(BASE_DIR,‘static_all‘)

命令行执行:
python manage.py collectstatic

最后,将nginx的静态文件路径改为:static_all

  

 

4、配置uwsgi

配置uwsgi.ini

[uwsgi]
socket=/opt/proj/script/uwsgi.sock  # 方式1,对应nginx配置中的uwsgi_pass
socket=127.0.0.1:9090		    # 方式2,对应nginx配置中的
uwsgi_pass
chdir=/wwwroot/destiny
module=destiny.wsgi
master = true         
processes=2
threads=2
max-requests=2000
chmod-socket=664
vacuum=true
daemonize =/wwwroot/destiny/uwsgi.log

  

5、启动nginx

6、启动uwsgi

7、测试

 

Nginx+uwsgi+Django

上一篇:pthread_once


下一篇:nrm 源管理工具