这两天被这个生产环境部署搞的头大,试过很多教程,很多文章,最终都是失败告终,最终没办法,用nginx反向代理,代理uwsgi对应端口的项目,不过我觉得这种生产环境部署效率太低了,不像tomcat部署java那样简单方便快捷,后面我会寻找更加快捷的办法。
好的 废话不多说,写笔记
之前写过了django、uwsgi、nginx的安装方法,不知道的去之前日志看,这里就不在概述 直接上配置文件
在写好的django项目里面新建一个uwsgi.ini
配置如下:
# uwsig使用配置文件启动[uwsgi]# 项目目录chdir=/opt/proj/teacher/# 指定项目的applicationmodule=teacher.wsgi:application# 指定sock的文件路径 socket=/opt/proj/script/uwsgi.sock# 进程个数 workers=5pidfile=/opt/proj/script/uwsgi.pid# 指定IP端口 http=192.168.2.108:8080# 指定静态文件static-map=/static=/opt/proj/teacher/static# 启动uwsgi的用户名和用户组uid=rootgid=root# 启用主进程master=true# 自动移除unix Socket和pid文件当服务停止的时候vacuum=true# 序列化接受的内容,如果可能的话thunder-lock=true# 启用线程enable-threads=true# 设置自中断时间harakiri=30# 设置缓冲post-buffering=4096# 设置日志目录
daemonize=/opt/proj/script/uwsgi.log
配置好uwsgi后配置nginx反向代理 nginx的配置文件在安装目录下的conf/nginx.conf
user nginx;
#设置nginx 用户
#设置nginx 用户
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
#自定义反向代理名称hello
#自定义反向代理名称hello
upstream hello {
server 42.51.157.240:8088;
#server 42.51.157.240:6000;
server 42.51.157.240:7000;
server 42.51.157.240:8000;
}
server {
#监听80端口
#监听80端口
listen 80;
server_name localhost;
location / {
#代理hello地址
#代理hello地址
proxy_pass http://hello;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
listen 8080;
server_name localhost;
location / {
proxy_pass http://hello;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
实测可以访问项目 基本没什么问题,但是在部署项目的时候比较麻烦,每部署一个项目都需要配置一次
浙公网安备 33010602011771号