在本文记录了我在Ubuntu中部署Flask Web站点的过程, 其中包括用户创建、代码获取、Python3环境的安装、虚拟环境设置、uWSGI启动程序设置,并将Nginx作为前端反向代理。希望对各位有所帮助。
建立一个Python Web程序专用账户
1 2 3 | adduser haseo vim /etc/sudoers #将haseo用户加入导sudo用户清单中 sudo usermod -a -G www-data haseo |
---|
安装Python3并配置程序运行环境
1.更新Ubuntu的软件库
1 2 3 | sudo apt-get update sudo apt-get -y upgrade sudo apt-get install build-essential libssl-dev libffi-dev python3-dev #安装一些必要的工具包 |
---|
2.安装python包管理工具
1 | 复制代码`python3 -V` |
配置Python 程序
1.创建程序目录
1 | 复制代码`mkdir -p /var/www/html/pricing-service` |
2.修改目录权限
1 | 复制代码`sudo chown haseo:haseo /var/www/html/pricing-service` |
3.创建一个SSH Key使得用户可以同步GitHub的代码
1 | 复制代码`ssh-keygen` |
4.复制GitHub上的代码
1 | 复制代码`git clone git@xxx .` |
5.创建log目录
1 | 复制代码`mkdir log` |
6.创建虚拟目录
1 2 3 4 | pip3 install virtualenv python3 -m virtualenv venv # 在pricing-service目录下执行 ./venv/bin/pip install -r requirements.txt ./venv/bin/pip install uwsgi |
---|
配置uwsgi
1.测试一下python直接运行程序是否可以访问
1 | 复制代码`vim ~/myproject/wsgi.py` |
2.创建WSGI入口文件
1 | 复制代码`vim ~/myproject/wsgi.py` |
3.测试uWSGI是否正常运行
1 | 复制代码`uwsgi --socket 0.0.0.0:5000 --protocol=http -w wsgi:app` |
4.创建uWSGI配置文件前面测试没问题之后我们开始创建uWSGI配置文件
1 | 复制代码`vim ~/myproject/wsgi.ini` |
5.创建systemd文件
1 | 复制代码`sudo vim /etc/systemd/system/price_service.service` |
6.启动并启用wsgi服务
1 | 复制代码`sudo systemctl start price_service` |
配置Nginx
1.安装nginx
1 | 复制代码`apt-get install nginx` |
2.Nginx状态查看及进程管理
| 1 2 3 4 5 6 | systemctl status nginx ip addr show eth0 | grep inet | awk ‘{ print $2; }’ | sed ‘s//.*$//‘ #获取服务器的IP地址 sudo systemctl start nginx sudo systemctl reload nginx sudo systemctl disable nginx # 精致nginx在系统启动的时候启动 sudo systemctl enable nginx |
| — | — |
3.配置Nginx站点
1 | 复制代码`vim /etc/nginx/sites-available/default` |
4.软链接导nginxsites-enabled
目录
1 | 复制代码`sudo ln -s /etc/nginx/sites-available/default /etc/nginx/sites-enabled` |
5.测试配置
1 | 复制代码`sudo nginx -t` |
6.重新启动nginx大功告成
1 | 复制代码sudo systemctl restart nginx |
本文转载自: 掘金