python项目部署nginx_Python-在CentOS7上使用nginx+uwsgi部署Flask框架开发的Web项目

第一步:准备CentOS7服务器

此次部署我采用的是部署到本机的虚拟机环境中,所以先在VM上安装CentOS7。为了避免每次启动虚拟机服务器IP地址就发生改变,所以先配置静态IP,首先在VM workstation的菜单栏上找到虚拟网卡配置菜单,然后将adapter8的dhcp去掉,然后查看gateway(中文名网关)。在centos中主要涉及一个文件的配置,在/etc/sysconfig/network_config/(网卡编号,类似cfg_eth0的文件),然后编辑5个地方:

1.BOOTPROTO=static 静态IP

2.ONBOOT=yes 随计算机启动

3.NETMASK=255.255.255.0 子网掩码

4.GATEWAY=192.168.3.2 网关,和之前在VM中查看的gateway相同

4.IPADDR=192.168.3.7 需要和网关在同一个网段内

5.DNS1=192.168.3.2 DNS和网关相同

最后输入命令service restart network重启网络。

第二步:安装Python

因为CentOS7自带了python2.7.5,所以这里我就不再重新安装Python,如果需要安装python可以找其他资料,安装其他版本的python时要使用make && make altinstall避免覆盖之前版本的python导致系统中其他使用到默认版本python的程序无法运行。然后再安装pip,我采用源码安装,首先去pip官网下载pip的压缩包,然后解压后,进入解压后的目录,输入python setup.py install来安装pip,如果提示缺少setuptools模块,则先安装setuptools模块,可以使用yum安装,执行yum install setuptools安装,也可以使用其他安装方式,安装好setuptools后再安装pip,pip安装好后,进入项目文件夹,因为我的项目在之前已经通过pip freeze >requirements.txt生成了需求文件,所以当迁移到其他环境时可以直接使用pip install -r requirements.txt来安装项目需要的模块。到此python的环境就安装完成了,可以在python下启动项目,看python环境是否配置成功。

如果服务器中可能会存在多个不同python环境的项目,可以使用virtualenv创建独立的python环境,可以通过pip安装,安装好后可以在项目文件夹下执行virtualenv venv创建虚拟环境,可以加上-no-site-packages参数不拷贝真实python环境中的site-packages到新的虚拟环境中以创建一个干净的Python环境。

第三步:安装nginx和uwsgi

先去nginx官网下载源码,然后执行./configure && make && make install来安装,nginx会被自动添加的/usr/bin/nginx执行环境下,可以直接执行nginx命令,通过nginx -c conf/nginx.conf(nginx的配置文件)来启动nginx,启动成功后可以通过访问127.0.0.1来验证nginx是否启动成功,nginx的默认端口是80,可以通过nginx安装目录下的conf目录下nginx.conf来配置。

然后再安装uwsgi,同样采用源码的方式安装,安装好后需要通过配置nginx来把所有请求传给uwsgi处理。

配置nginx的很简单,编辑nginx.conf文件,找到server节点下的localtion,localtion / {

include uwsgi_params;

uwsgi_pass 127.0.0.1:3031;

root html;

index index.html index.htm

}

然后通过ps -ef | grep nginx找到nginx的线程master线程编号,然后通过kill -HUP nginx线程编号重启nginx,这个时候再访问127.0.0.1就会出错。

接下来配置uwsgi,在项目文件夹下创建app_config.ini配置文件,文件名可以自定义,内容为:

[uwsgi]

socket=127.0.0.1:8099

chdir=/var/www/my-website/ #项目路径

wsgi-file=manage.py #项目的启动的主文件,也就是app = Flask(__name__)的创建文件,这里需要灵活一点

callable=app #这个就是app = Flask(__name__)中的app对象名称

processes=4 #配置启动多少个进程来处理请求

配置好后通过uwsgi app_config.ini来启动uwsgi,这里的app_config.ini需要绝对或相对路径

配置好后再访问127.0.0.1就能够访问项目中路由地址"/"的路由函数。

到此python项目就部署成功,有什么问题后面再补充,本文是完全盲写,有些命令或配置名称可以输入有错,如果出错可以自行查阅。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值