Django 部署(Nginx)

1.查看占用端口号

lsof -i :8002

安装uwsgi

pip3 install uwsgi

2.启动服务器

#进入Django目录
'''
参数说明:
        --http 这个就和runserver一样指定IP 端口
        --file 这个文件就里有一个反射,如果你在调用他的时候没有指定Web Server就使用默认的
        -- static 做一个映射,指定静态文件
'''
uwsgi --http 192.168.31.123:8080 --file teacher/wsgi.py --static-map=/static=static

3.进入/script目录,创建一个uwsgi.ini文件(以配置文件的方式启动)

# uwsig使用配置文件启动
[uwsgi]
# 项目目录
chdir=/opt/proj/teacher/
# 指定项目的application
module=teacher.wsgi:application
# 指定sock的文件路径       
socket=/opt/proj/script/uwsgi.sock
# 进程个数       
workers=5
pidfile=/opt/proj/script/uwsgi.pid
# 指定IP端口       
http=192.168.2.108:8080
# 指定静态文件
static-map=/static=/opt/proj/teacher/static
# 启动uwsgi的用户名和用户组
uid=root
gid=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

4.结合nginx一起使用

#配置yum 源
vim /etc/yum.repos.d/nginx.repo

4.1安装nginx

yum -y install nginx
#测试是否安装完成,命令启动nginx
/etc/init.d/nginx start

5.Django + Uwsgi + Nginx

#首先创建配置文件,nginx的默认配置目录为/etc/nginx/conf.d
#创建teacher.conf文件
server { # 这个server标识我要配置了
        listen 80; # 我要监听那个端口
        server_name 192.168.2.108 ; # 你访问的路径前面的url名称 
        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 / { # 这个location就和咱们Django的url(r'^admin/', admin.site.urls),
        include uwsgi_params; # 导入一个Nginx模块他是用来和uWSGI进行通讯的
        uwsgi_connect_timeout 30; # 设置连接uWSGI超时时间
        uwsgi_pass unix:/opt/proj/script/uwsgi.sock; # 指定uwsgi的sock文件所有动态请求就会直接丢给他
    }

    # 指定静态文件路径
    location /static/ {
        alias /opt/proj/teacher/static/;
        index index.html index.htm;
    }
}

重启

/etc/init.d/nginx restart

6.nginx相关命令

    # 启动Nginx通过Nginx访问
    /etc/init.d/nginx start
    /etc/init.d/nginx stop

    # 这里有个命令configtest,Nginx配置是重启生效的,如果你修改完了,不知道对    不对又担心影响其他人可以使用它测试
    /etc/init.d/nginx configtest

    # 如果是生产环境的话Nginx正在运行,就不要直接stop start 或者 restart  直接reload就行了
    # 对线上影响最低
    /etc/init.d/nginx reload 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值