WSGI uWSGI NGINX
WSGI web服务器网关接口, 只是一种描述web服务器如何与web应用程序通信的规范
uwsgi: 是一个全功能的服务器
nginx: 是一个web服务器, 可以作为反向代理服务器
cmder
源码安装python:
ssh qz@192.168.30.129 连接linux服务器
scp python-3.6.5.tar.xz qz@192.168.30.129:/home/qz 将python压缩包上传到服务器
解压python压缩包:
gzip -d python-3.6.5.tar.xz.gz 解压gz(看情况使用)
xz -d python-3.6.5.tar.xz 解压xz
tar -xvf python-3.6.5.tar 解压tar
安装python:
cd python-3.6.5
vim README.rst 查看安装提示
./configure
make
make install
./python 查看是否安装成功
配置虚拟环境:
python安装成功后
(sudo) ./python -m venv /qz/python3env
cd /qz/python3env (cd cd / 找到qz)
进入虚拟环境:
~: cd qz/python3env
source bin/activate bash activate.csh (一样都是进入虚拟环境)
deactivate 退出虚拟环境
pycharm:
打开需要部署的项目,进入项目所在的环境执行:
pip freeze 查看项目所使用的python包
pip freeze > requirements.txt 生成txt文件 名字随意 通常使用requirements
把python项目上传服务器:
scp -r 项目路径 qz@192.168.30.129:/home/qz/项目名称
进入项目:
cd
cd 项目名称
pip install -r requirements.txt
权限不足则:
su - 切换为超级管理员
进入虚拟环境
进入项目
继续后面的操作
开启项目:
python manage.py runserver
开启服务器部署的项目:(该方法启动不会加载样式,需要结合nginx使用)
进入项目所需的虚拟环境
进入项目
安装uwsgi:
pip install uwsgi
uwsgi 查看是否安装成功
进入mysite/settings.py 修改 ALLOWED_HOSTS = ['*']
创建ini文件:
vim django_uwsgi.ini 名称随便 ini 格式即可
进入ini文件:
插入:
[uwsgi] # 通过uwsgi来访问Django需要配置http
socket = :8000 # socket无法访问 改为http :前默认有0.0.0.0
chdir = 项目根目录 # :wq退出 输入pwd可以查看项目根目录
module = mysite.wsgi # module 指定项目自带的wsgi配置文件的位置
master= true # 允许主进程存在
processes = 3 # 开启的进程数]
vacuum = true # 服务器退出时自动清理环境
保存 退出
启动项目:
uwsgi --ini django_uwsgi.ini --buffer-size 30000
使用Windows浏览器测试:
访问失败, 可能是防火墙的原因, 另起一个终端 systemctl stop firewalld 关闭防火墙 再试