阿里云CentOS、Nginx、uWSGI、Flask部署简易博客
来源:互联网 发布:im即时通讯源码java 编辑:程序博客网 时间:2024/06/06 20:09
Blog地址:https://www.jiangdog.com/blog/flask-deployment
前期准备
- 阿里云服务器ECS
- 云数据库 RDS版
- CentOS 7.2系统
- 基本开发完成的Flask应用
基本环境准备
安装基本依赖并创建应用目录
安装基本依赖:
yum groupinstall "Development tools" yum install zlib zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel
- 创建应用根目录:
# cd /home# mkdir apps
安装Python3
- 进入安装目录
# cd /usr/local/bin
。 - 下载Python3.5源码:
# wget https://www.python.org/ftp/python/3.5.1/Python-3.5.1.tgz
- 解压源码文件:
# tar -xzvf Python-3.5.1.tgz
进入目录并编译安装:
# cd Python-3.5.1# ./configure prefix=/usr/local/python3# make && make install
添加python3, pip3软连接(python3是自带pip3的,是在python3同目录下,不需要自己再重新安装):
# ln -s /usr/local/python3/bin/python3 /usr/bin/python3# python3 -V# ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3# pip3 list# pip3 install --upgrade pip
- 进入安装目录
使用虚拟环境:
安装并配置
virtualenv
:# pip3 install virtualenv# vi ~/.bashrc# export PATH=/usr/local/python3/bin:$PATH# source ~/.bashrc# echo $PATH# cd /home/apps/# virtualenv venv --no-site-packages --python=python3# source venv/bin/activate
- 中间有一步骤是将
export PATH=/usr/local/python3/bin:$PATH
添加到文件顶部,然后执行,添加了系统变量。 进入虚拟环境, 退出虚拟环境:
# source /home/apps/venv/bin/activate(venv) # deactivate
- 若想删除虚拟环境,则直接将创建的虚拟环境venv对应的文件夹删掉就行了。
Nginx
- 安装Nginx:
上传应用到服务器
从Git上克隆代码:
# cd /home/apps# git clone https://github.com/jiangdog/jiangdog_blog.git
根据requirements.txt安装第三方库:
# souce ./venv/bin/activate(venv) # cd jiangdog_blog/(venv) # pip install -r requirements.txt
requirements.txt可以通过
# pip freeze requirements.txt
生成。
配置服务器代理
安装并使用uWSGI:
进入虚拟环境安装uWSGI:
# source /home/apps/venv/bin/activate (venv) # pip install uwsgi(venv) # uwsgi -h
修改uWSGI配置文件uwsgi。
[uwsgi]# uwsgi 启动时所使用的地址与端口socket = 127.0.0.1:8080# 指向网站目录chdir = /home/apps/jiangdog_blog/# python 启动程序文件wsgi-file = main.py# python 程序内用以启动的 application 变量名callable = app# 进程数processes = 4# 线程数threads = 2
通过uWSGI启动。
(venv) # uwsgi uwsgi_config.ini
安装并使用Nginx
安装Nginx(也可以通过源码安装):
# rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm# yum install nginx# nginx -v
查看并修改nginx配置文件:
# nginx -t# cd /etc/nginx/conf.d/
直接添加一个新的nginx_config.conf配置文件:
server { listen 80; server_name xxx.xxx.xxx.xxx; #公网地址或域名 access_log /home/apps/jiangdog_blog/logs/access.log; error_log /home/apps/jiangdog_blog/logs/error.log; location / { include uwsgi_params; uwsgi_pass 127.0.0.1:8080; # 指向uwsgi 所应用的内部地址,所有请求将转发给uwsgi 处理 uwsgi_param UWSGI_PYHOME /home/apps/jiangdog_blog/venv/; # 指向虚拟环境目录 uwsgi_param UWSGI_CHDIR /home/apps/jiangdog_blog/; # 指向网站根目录 uwsgi_param UWSGI_SCRIPT main:app; # 指定启动程序 }}
修改应用配置:
- 修改config.py。
修改main.py,将
config_name
改成线上环境。config_name = 'production'
启动并查看应用:
启动Nginx:
# nginx
启动uWSGI:
(venv) cd /home/apps/jiangdog_blog/(venv) # uwsgi uwsgi_config.ini
其他(查看端口,关闭Nginx,关闭uWSGI)
# netstat -ntlp# nginx -s -stop# ps -aux | grep uwsgi# kill -9 [pid]
阅读全文
0 0
- 阿里云CentOS、Nginx、uWSGI、Flask部署简易博客
- 配置阿里云CentOS7.2+nginx+uwsgi 部署flask项目
- centos+flask+uwsgi+nginx+supervisor部署小结
- Nginx+uwsgi+Flask部署
- Nginx+uwsgi+flask部署
- Nginx+uwsgi+flask部署
- 阿里云上搭建nginx+uwsgi+flask
- Flask+uWSGI+Nginx部署过程
- Flask+uWSGI+Nginx部署过程
- nginx+uwsgi部署flask应用
- uwsgi+nginx+flask简单部署
- nginx + uWSGI + flask应用部署
- uWSGI+Nginx部署Flask项目
- 阿里云上搭建nginx+uwsgi+flask 之2
- 阿里云部署 Flask + WSGI + Nginx 详解
- 阿里云部署 Flask + WSGI + Nginx 详解
- flask + nginx + uwsgi的部署小记
- Ubuntu 12.04 下部署 Nginx+uWSGI+Flask
- JAVA_jar包运行时的Class not found异常
- C语言中的acess函数
- POJ
- 安卓开发之EditText
- event对象中的target和currentTarget的区别
- 阿里云CentOS、Nginx、uWSGI、Flask部署简易博客
- JVM_11_JDK可视化工具
- 层序遍历及其应用
- 数据结构实验之栈与队列六:下一较大值(二)
- SSM学习笔记(三)——excel导入导出
- 数据结构实验之栈与队列七:出栈序列判定
- AUTOCAD学习笔记5:单相半波整流电路的绘制
- [android工具]LogcatView,手机中查看logcat神器
- 数据结构实验之栈与队列十一:refresh的停车场