uwsgi 部署项目

1. 纯净的ubuntu操作系统

安装网络工具包

# 安装
sudo apt-get install net-tools
# 重启
sudo /etc/init.d/networking restart

安装上传rz、下载sz工具

sudo apt-get install lrzsz

2. 安装openssh,用于远程连接

sudo apt-get install openssh-server

3. 安装依赖库

sudo apt-get update
sudo apt-get upgrade
# 安装gcc g++的依赖库
sudo apt-get install build-essential
sudo apt-get install libtool
# 安装 pcre依赖库
sudo apt-get install libpcre3 libpcre3-dev
sudo apt-get install zlib1g-dev
# 安装 ssl依赖库
sudo apt-get install openssl

4. 安装Pyhton3和pip

sudo apt install python3
sudo apt install python3-pip

安装成功在根目录下建立两个文件夹,主要用于存放env和网站文件的

sudo mkdir -p /data/env  # 存放python虚拟环境
sudo mkdir -p /data/wwwroot  # 存放项目文件

5. 安装virtualenv,存放虚拟环境

sudo pip3 install virtualenv
# cd /data/env
# 创建虚拟环境,指定Python版本
sudo virtualenv -p /usr/bin/python3 pyweb

其他知识点

  • 修改虚拟环境目录
# 修改存放虚拟环境目录
sudo vim ~/.bashrc
119 export WORKON_HOME=/data/env120 source /usr/local/bin/virtualenvwrapper.sh121 VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
# 刷新source ~/.bashrc
  • 启动虚拟环境
# 启动虚拟环境# 方式一cd /data/env  # 进入虚拟环境目录source pyweb/bin/activate# 方式二# 前提 实现指定了虚拟环境目录workon pyweb
  • 退出虚拟环境
deactivate
  • 删除虚拟环境
rmvirtualenv 虚拟环境名称  # 或者 删除创建的虚拟环境目录
  • 列出虚拟环境
# 方式一workon# 方式二lsvirtualenv -b

6. 上传项目并安装依赖软件库

sudo pip3 install -r requirements.txtpython3 manage.py runserver# 测试是否能正常启动。

7. 安装uwsgi,并配置uwsgi

sudo pip3 install uwsgi

们网站项目路径是 /data/wwwroot/myproject/,在项目根目录下创建 myproject.xml文件,输入如下内容

<uwsgi>	<socket>127.0.0.1:8080</socket><!-- 内部端口,自定义 -->	<chdir>/data/wwwroot/myproject/</chdir><!-- 项目路径 -->	<module>myproject.wsgi</module>	<processes>4</processes> <!-- 进程数 -->	<daemonize>uwsgi.log</daemonize><!-- 日志文件 --></uwsgi>

8. 安装nginx

# /usr/local 目录执行下面命令:wget http://nginx.org/download/nginx-1.13.7.tar.gz# 下载完成后,执行解压命令:tar -zxvf nginx-1.13.7.tar.gz# cd 进入解压后的nginx-1.13.7文件夹,依次执行以下命令:./configuremakemake install# nginx一般默认安装好的路径为/usr/local/nginx# 在/usr/local/nginx/conf/中先备份一下nginx.conf文件,以防意外。cp nginx.conf nginx.conf.bak

打开nginx.conf文件,配置一下内容

worker_processes 1;events {	worker_connections 1024;}http {	include mime.types;	default_type application/octet-stream;	sendfile on;	server {		listen 80;		server_name www.django.cn;		charset utf-8;		location / {			include uwsgi_params;			uwsgi_pass 127.0.0.1:8080;			uwsgi_param UWSGI_SCRIPT myproject.wsgi;			uwsgi_param UWSGI_CHDIR /data/wwwroot/myproject; #项目路径		}		location /static/ {			alias data/wwwroot/myproject/static/; #静态资源路径		}	}}

进入/usr/local/nginx/sbin/目录

执行./nginx -t  # 命令先检查配置文件是否有错,没有错就执行以下命令:./nginx# 终端没有任何提示就证明nginx启动成功。进入网站项目目录cd /data/wwwroot/mysite/# 执行下面命令:uwsgi -x mysite.xml# 以上步骤都没有出错的话。# 进入/usr/local/nginx/sbin/目录#执行:./nginx -s reload########################################################### 如果外网不能访问,请开启端口。# 开启端口的命令:sudo ufw statussudo ufw allow 80sudo ufw enablesudo ufw reload###########################################################
posted @ 2021-08-31 10:32  三叶草body  阅读(119)  评论(0)    收藏  举报