① yum update #升级yum
② yum install python3-devel #安装python开发包
③ python3 -m pip install --upgrade pip #升级pip
④ pip3 install virtualenv 安装虚拟环境
创建虚拟环境 virtualenv 环境名字
退出虚拟环境 deactivate
⑤ 上传代码 可以新建目录也可以直接在home目录 上传本地代码
本地收集静态文件 python manage.py collectstatic
本地导出本机安装的所有模块 pip freeze > requirements.txt 导出模块
上传指定目录代码
上传后在项目根目录创建虚拟环境 进入虚拟环境
服务器 执行安装模块 pip install -r requirements.txt 安装模块
⑥ pip3 install uwsgi 安装uwsgi
conda install -c conda-forge uwsgi
创建uwsgi.ini文件 添加下方{}内内容
{
#添加配置选择
[uwsgi]
#配置和nginx连接的socket连接
以下三种任选一种, 方式一适合uwsgi和nginx在一台服务器,传输速度最快
①socket = /www/cs/cs.sock --- .sock 文件在启动uwsgi时自动生成
②socket = 127.0.0.1:8002
③http = :8002
#配置项目路径,项目的所在目录
chdir = /www/crm/
#配置wsgi接口模块文件路径,也就是wsgi.py这个文件所在的目录名
wsgi-file = crm/wsgi.py
#配置启动的进程数
processes = 4
#配置每个进程的线程数
threads = 2
#配置启动管理主进程
master = True
#配置存放主进程的进程号文件
pidfile = uwsgi.pid
#配置dump日志记录
daemonize = uwsgi.log
#虚拟环境
home = /www/cs/cs_venv
#修改代码后立即重启
py-autoreload = 1
# 退出重启清理文件 一般清除 .pid 文件和 .sock文件
#vacuum = true
}
uwsgi 需要的命令
uwsgi --ini uwsgi.ini 启动
uwsgi --stop uwsgi.pid #停止运行uwsgi
uwsgi --reload uwsgi.pid #重启uwsgi
ps -ef |grep uwsgi 查看所有
killall -s INT uwsgi 杀掉
uwsgi --http :8003 --ini uwsgi.ini 指定端口运行
tail -f uwsgi.log 实时查看运行日志 Ctrl+c 是退出tail命令
⑦ yum install nginx #安装Nginx 直接安装到etc/nginx
yum install epel-release #不然nginx 提示找不到
启动nginx:service nginx start
关闭nginx:service nginx stop
重启nginx:service nginx restart
需要的命令 执行命令在 cd /usr/sbin/
./nginx 启动Nginx
nginx -s reopen #重启Nginx
nginx -s reload #重新加载Nginx配置文件,然后以优雅的方式重启Nginx --一般用这种重启
nginx -s stop #强制停止Nginx服务
nginx -s quit #优雅地停止Nginx服务(即处理完所有请求后再停止服务)
nginx -t #检测配置文件是否有语法错误,然后退出
nginx -?,-h #打开帮助信息
nginx -v #显示版本信息并退出
nginx -V #显示版本和配置选项信息,然后退出
nginx -t #检测配置文件是否有语法错误,然后退出
nginx -T #检测配置文件是否有语法错误,转储并退出
nginx -q #在检测配置文件期间屏蔽非错误信息
nginx -p prefix #设置前缀路径(默认是:/usr/share/nginx/)
nginx -c filename #设置配置文件(默认是:/etc/nginx/nginx.conf)
nginx -g directives #设置配置文件外的全局指令
killall nginx #杀死所有nginx进程
Nginx 配置 在 ect/nginx/conf.b/
server {
server_name 域名;
location / {
proxy_pass http://127.0.0.1:8080;#反向代理 不能和uwsgi_pass 冲突
proxy_set_header Host $host; #反向代理需要添加请求头,不然服务器获取不到域名
--- 以上反向代理配置
include uwsgi_params;
uwsgi_pass 127.0.0.1:8083;
uwsgi_param UWSGI_SCRIPT wms.wsgi;
uwsgi_param UWSGI_CHDIR /home/szty;
index index.html index.htm;
client_max_body_size 35m;
uwsgi_send_timeout 1200;
uwsgi_connect_timeout 1200;
uwsgi_read_timeout 1200;
-- 以下时sock文件配置 --
include uwsgi_params;
uwsgi_pass unix:/www/crm2/crm.sock;
}
location /media {
alias /www/crm/media;
}
location /static {
alias /www/crm/static;
}
}
```
⑧ 配置https 注意 所有https 只有三个月
Ⅰ yum install certbot python3-certbot-nginx 安装这个包
Ⅱ certbot --nginx 配置https
⑨
这部和以上没有关系,只是记录到这里
清除谷歌浏览器http 跳转htttps问题 chrome://net-internals/#hsts 清除浏览器
以下是配置 wss
只需将 Daphne 指向您的 ASGI 应用程序,并可选择设置绑定地址和端口(默认为 localhost,端口 8000):
daphne -b 0.0.0.0 -p 8001 项目.asgi:application
如果您打算在代理服务器后面运行 daphne,您可以使用 UNIX 套接字在两者之间进行通信:
daphne -u /tmp/daphne.sock 项目.asgi:application