开发项目部署流程
文章目录
一、 在Linux下配置虚拟环境
1.1、 确保系统安装了python3 pip3
如何安装pip3
sudo apt install python3-pip
安装时如果出现这个错误
E: 无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用)
E: 无法锁定管理目录(/var/lib/dpkg/),是否有其他进程正占用它?
解决方案
cd /var/lib/dpkg/
删除lock文件
sudo rm lock
安装文件
sudo pip3 install virtualenv
sudo pip3 install virtualenvwrapper
cd ~ 进入当前用户根目录
sudo vim .bashrc 打开配置文件
粘贴课件中三行
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source /usr/local/bin/virtualenvwrapper.sh
:wq! 保存退出
Source .bashrc 更新
3、 创建虚拟环境
mkvirtualenv pro1env
二、 将window项目同步到linux
Git 安装 sudo apt install git
cd /home/zzy sudo mkdir py1903 sudo chmod -R 777 py1903 cd py1903///
直到看到require.txt安装require.txt 下所有的模块 workon 虚拟环境 pip install -r require.txt 安装所有模块
注意 安装mysqlclient==1.4.2.post1 会失败导致所有的模块不能安装 sudo apt insatall
libmysqlclientdev 先安装这个包之后就可以安装mysqlclient
三、 发布uwsgi服务器
1.进入虚拟环境
Pip install uwsgi
2.添加配置
在项目根目录添加 uwsgi.ini
[uwsgi]
#socket=外网ip:端口(使用nginx连接时,使用socket) http=0.0.0.0:12000 chdir=/home/zzy/py1903/Py1903/demo3 wsgi-file=demo3/wsgi.py
processes=4 threads=2 master=True pidfile=uwsgi.pid
daemonize=uwsgi.log将setting中ALLOWED_HOSTS = ["*"]
启动 uwsgi –- ini uwsgi.ini 停止 uwsgi – - stop uwsgi.pip
四、 使用nginx服务器部署项目
Sudo apt install nginx
修改nginx配置文件
Sudo vi /etc/nginx/nginx.conf
server {
listen 0.0.0.0:13000;
location / {
include uwsgi_params;
uwsgi_pass 0.0.0.0:12000;
}
}
将uwsig配置文件其中的http修改socket
socket=0.0.0.0:12000
#http=0.0.0.0:12000
重启uwsgi服务器
Uwsgi –-stop uwsgi.pid
Uwsgi –-ini uwsgi.ini
重启nginx
Sudo nginx -s stop 停止
Sudo nginx 启动
五、 Nginx 可以进行负载均衡, 实现逆向解析
1.处理静态文件
Sudo chmod -R 777 staticroot
cd staticroot pwd获取赋值当前路径
在settings.py中修改
STATIC_ROOT = “/home/zzy/py1903/demo3/staticroot”
python manage.py collectstatic
2.修改nginx配置文件
Location /static {
Alias /home/zzy/py1903/demo3/staticroot;
}
重启nginx服务器
sudo nginx -s stop
sudo nginx