Ubuntu中配置uwsgi和nginx

1.uwsgi安装测试
 # 进入到虚拟环境
 workon dj_pro
 ​
 # 安装uwsgi
 pip install uwsgi

2.uwsgi配置

在项目根目录中创建deploy目录,新建uwsgi_conf.ini文件

 [uwsgi]
 # 使用nginx连接时使用,Django程序所在服务器地址
 # 选择内网IP和端口  ip a 查看 使用第二个的ip
 socket=10.0.2.15:8000# 项目根目录  pwd查看
 chdir=/home/dj31
 ​
 #项目中wsgi.py文件的相对目录
 wsgi-file=dj31/wsgi.py
 ​
 # 进程数
 processes=2# 线程数
 threads=2# uwsgi服务器的角色
 master=True
 ​
 # 存放进程编号的文件
 pidfile=uwsgi.pid
 ​
 # 日志文件,因为uwsgi可以脱离终端在后台运行,日志看不见。以前的runserver是依赖终端的
 daemonize=logs/uwsgi.log
 ​
 # 指定虚拟环境所在目录,不能填相对目录
 virtualenv=/home/Conner/.virtualenvs/myblog_pro
 ​

3.启动uwsgi

切换到deploy目录中,创建logs/uwsgi.log文件,用于存放日志文件

 # 启动uwsgi
 uwsgi --ini uwsgi_conf.ini &# 停止uwsgi
 uwsgi --stop uwsgi.pid

4.在Ubuntu 18.04中安装配置Nginx

 # 安装nginx
 sudo apt update -y
 sudo apt install nginx -y

5.nginx配置

创建/etc/nginx/conf.d/nginx_dj_pro.conf文件

upstream MyBlog {
    # 此处为uwsgi运行的ip地址和端口号 ,ip a查看第二个
    server 10.0.2.15:8000;
}

server {
    # 监听端口
    listen      80;

    # 服务器域名或者ip地址
    server_name 39.108.191.165 .shishi.com;

    # 编码
    charset     utf-8;

    # 文件最大上传大小
    client_max_body_size 75M;

    # 媒体文件
    location /media  {
        alias /home/Conner/MyBlog/media;
    }

    # 静态文件
    location /static {
        alias /home/Conner/MyBlog/static;
    }

    # 主目录
    location / {
        uwsgi_pass  MyBlog;
        include    /etc/nginx/uwsgi_params;
    }
}
# 移动nginx_dj_pro.conf
sudo cp nginx_dj_pro.conf /etc/nginx/conf.d/

# 修改 /etc/nginx/nginx.conf
sudo vim nginx.conf  改 user root

# 测试nginx配置文件是否正确:
sudo nginx -t -c /etc/nginx/nginx.conf

# 打印如下内容,则没问题
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful


# 重新加载配置
sudo nginx -s reload -c /etc/nginx/nginx.conf



#
停止nginx sudo systemctl stop nginx # 启动nginx sudo systemctl start nginx

 

 

 

 

posted @ 2020-04-27 14:45  不会飞的鲨鱼  阅读(773)  评论(0编辑  收藏  举报