欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

开发项目部署流程

程序员文章站 2022-06-12 19:57:03
...

一、 在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
相关标签: 项目开发