Flask+Nginx+uwsgi正式环境搭建
硬件:VPS主机(非KVM)软件版本:centos7;python3.6.2 ;Nginx1.13.9一、安装python准备:在根目录下 mkdir xiazai(一般有下载任务的操作 都在这个文件下完成)mkdir www(测试文件和相关文件放置处)下载wget --no-check-certificatehttps://www.python...
硬件:VPS主机(非KVM)
软件版本:centos7;python3.6.2 ;Nginx1.13.9
一、安装python
准备:在根目录下 mkdir xiazai(一般有下载任务的操作 都在这个文件下完成)
mkdir www(测试文件和相关文件放置处)
下载 wget --no-check-certificate https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz
解压安装包:tar -zxvf Python-3.6.2.tgz
yum安装依赖关系:gcc、gcc-c++、automake、autoconf、libtool、make、openssl、openssl-devel、zlib-devel、epel-release等
如果有些安装包的名字不确定,使用yum search python36 来查找搜索(例如python36u-devel 或 python36-devel)
进入Python的解压文件夹下:./configure --prefix=/usr/local/python36 --with-ssl
编译安装:make && make install
创建软连接:
ln -s /usr/local/python36/bin/python3 /usr/bin/python3
ln -s /usr/local/python36/bin/pip3 /usr/bin/pip3
安装依赖环境: yum install python36-devel
升级pip:pip3 install --upgrade pip
*pip的源安装包安装:
安装setuptools: wget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-19.6.tar.gz#md5=c607dd118eae682c44ed146367a17e26
解压:tar -zxvf setuptools-19.6.tar.gz
cd解压后文件夹:
Python3 setup.py build
Python3 setup.py install
安装pip:wget --no-check-certificate https://pypi.python.org/packages/source/p/pip/pip-8.0.2.tar.gz#md5=3a73c4188f8dbad6a1e6f6d44d117eeb
解压文件tar -zxvf pip-8.0.2.tar.gz
cd 解压后的文件夹:
python3 setup.py build
python3 setup.py install
返回python的解压文件夹:
执行:./configure && make && make install
执行pip 查看安装是否完成;
升级pip:pip install --upgrade pip
二、安装flask
安装:pip3 install flask
pip install flask
验证是否安装成功:
在/www/文件夹下vim创建hello.py
内容为:
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello This py36 uwsgi nginx flask centos7!"
if __name__ == "__main__":
app.run(host='0.0.0.0', port=5000)
执行python3 hello.py 查看是否有报错
三、安装uwsgi
安装:pip3 install uwsgi
pip install uwsgi
完成安装后在 /www文件夹下vim 创建 hello.ini 并把下面内容拷贝到文件中
[uwsgi]
socket = 10.24.107.131:5000
module = hello:app
master = true
processes = 3
threads = 2
chmod-socket = 660
wsgi-file = /www/hello.py
chdir = /www
pythonpath = /www
pidfile=/www/uwsgi/uwsgi.pid
vacuum = true
*** --> 上面配置信息中加入stats=/www/uwsgi/uwsgi.status
其中socket为本机IP地址127.0.0.1或其他IP
在/www 文件夹下 新建uwsgi文件夹 并建立uwsgi.pid 文件
非ini文件形式测试是否成功:uwsgi --socket 0.0.0.0:5000 --protocol=http -w hello:app
uwsgi --ini hello.ini
在能上网的浏览器访问:http:// server_domain_or_IP:5000 即可返回:Hello This ………………
说明uwsgi安装成功
四、安装nginx
cd 到/xiazai 文件夹下
下载:wget http://nginx.org/download/nginx-1.13.9.tar.gz
解压:tar -zxvf nginx-1.13.9.tar.gz
cd 到nginx文件夹下:./configure && make && make install
查看nginx的安装目录:whereis nginx
查看nginx是否安装成功:ngnix安装路径下/sbin/nginx -t
配置ngnix开机启动:
cd到/lib/systemd/system/目录,创建nginx.service文件
文件内容:
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx reload
ExecStop=/usr/local/nginx/sbin/nginx quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
退出并保存文件,执行systemctl enable nginx.service使nginx开机启动
注:
systemctl start nginx.service 启动nginx
systemctl stop nginx.service 结束nginx
systemctl restart nginx.service 重启nginx
可以ps aux | grep nginx命令查看nginx进程信息
编辑nginx配置文件
vim /usr/local/nginx/conf/nginx.conf
修改内容如下:
其中1处IP地址为127.0.0.1 或其他本地IP地址
创建软连接:
ln -s /usr/local/nginx/sbin/nginx /bin/nginx
执行 nginx -v 查看软件版本;
五、IP访问或域名解析访问
重启uwsgi:uwsgi --reload uwsgi.pid(在pid所在的文件夹下或绝对路径)
重启nginx:systemctl restart nginx.service
此时在任意可连接互联网的浏览器上输入服务器IP地址或域名访问即可
域名解析: 由域名注册商提供支持
注:重启服务器后,有可能uwsgi的pid会改变,这时可以删除原有的uwsgi.pid和uwsgi.status文件
重启生成相关配置和启动uwsgi
这里:mv uwsgi.pid uwsgi.pid.bak
mv uwsgi.status uwsgi.status.bak
uwsgi --ini hello.ini
更多推荐
所有评论(0)