项目部署三

Nginx和uwsgi

Nginx体积小 性能优越 opoll 单进程非阻塞 类似于携程 轻松达到百万级
阿帕奇 多进程加多线程

Nginx是一个web服务器 还是一个邮件服务器 还是一个静态资源服务器 还是一个反向代理服务器 还是一个负载均衡服务器

正向代理:当我们翻墙访问google时,使用的latern 自由门等服务器代理访问google 这就是正向代理;爬虫用到的代理服务器也是正向代理
代理分为 透明/匿名/高匿代理

反向代理:我们访问百度时  百度的总服务器向其它的服务器集群分发请求这就是反向代理;即用自己的服务器代理自己的服务器

负载均衡:

------------------------------------------------
先完成项目的上传 解压缩 工作
修改settings.py配置文件
STATIC_ROOT = 'path' 静态资源收集存放的位置
执行收集静态资源的命令
python manage.py collectstatic
创建对应的数据库 执行数据库的同步和sql脚本初始化的工作
python manage.py makemigrations
python manage.py migrate

Nginx是一款软件 nginx安装
apt/apt-get install nginx

which nginx 查看nginx安装的目录
ps -ef | grep nginx 查看nginx是否启动 及其监听的端口

ps -ef | grep uwsgi 查看uwsgi是否启动
发现uwsgi启动了6个进程 一个主进程 四个子进程 一个守护进程
uwsgi --stop uwsgi.pid 关闭uwsgi

编辑配置uwsgi文件 
vim uwsgi.ini
文件中写
[uwsgi]
# 因为使用nginx做反向代理 所以这里使用socket连接
socket = ip:port
# 项目的根目录 必须是绝对路径
chdir=path
# 指定网管接口文件
wsgi-file = mysite/wsgi.py
# 指定启动的进程数据量
processes=4
# 每个进程需要的线程数
threads=2
# 指定是否由主进程管理
master=true
# 指定存放进程编号的id文件
pidfile=uwsig.pid
# 指定进程停止时清楚垃圾数据
vacuum=true
# 指定启用日志记录于守护进程
daemonize=uswgi.log
# 指定静态文件映射
# static-map=/static=static_file

扫描二维码关注公众号,回复: 3887894 查看本文章

cd /etc/nginx/
sudo vim nginx.conf 配置nginx的配置文件

在 Virtual Host Configs下添加 (不是必须在Virtual Host Configs下)
server {
    listen 80; 监听80端口 
    server_name ip; 监听的ip
    
    location / {    / 监听所有的请求
        include uwsgi_params;    cd etc/ ls *params
        uwsgi_name ip:port; 反向代理到uwsgi uwsgi监听的ip和端口
    }

    location /static { 配置静态资源 path为静态资源路径
        alias path
    }
}
重新启动uwsgi和nginx
nginx    启动服务器
nginx –s stop     停止服务器;不论是否有数据未完成,直接退出 慎用
nginx –s quit     停止服务器;如果数据处理未完成,等待完成退出
nginx –s reload   重新加载
nginx –s reopen   重启
 

猜你喜欢

转载自blog.csdn.net/qwerLoL123456/article/details/83421264