在centOS上部署python项目

2019-08-10  本文已影响0人  喜叔z

1.安装git,并下载项目源码

pip install git
git clone 项目ssh地址

2.启动虚拟环境

cd imooc_env // imooc_end在家目录下 即~/imooc_env
source bin/activate

3.进入项目文件夹

cd /data/www/orderAll // cd进入自己的项目文件夹

4.安装项目所需库

pip install -r requirements.txt

5.启动单进程

export ops_config=local或production
python manager.py runserver

6.开启uwsgi实现多进程
关闭单进程runserver

ps -ef |grep python
kill -9 进程id

详情查看https://www.jianshu.com/p/d27f86dc7331

安装uwsgi requirements.txt已标注uwsgi可忽略

pip install uwsgi

配置uwsgi文件

[uwsgi]
#源码目录
chdir=/data/www/orderAll
#python 虚拟环境
home=/root/imooc_env
module=manager
callable=app
master=true
#进程数
processes=4
#host及端口
http=0.0.0.0:8999
#需先创建logs文件夹 mkdir /data/www/logs
socket=/data/www/logs/order.sock
buffer-size=65535
pidfile=/data/www/logs/order.pid
chmod-socket=777
logfile-chmod=644
daemonize=/data/www/logs/order.log
static-map = /static=/data/www/orderAll/web/static

开启

uwsgi --ini uwsgi.ini

查看是否启动进程

[root@VM_0_14_centos orderAll]# ps -ef |grep uwsgi
root      3925  3560  0 16:56 pts/3    00:00:00 grep --color=auto uwsgi
root     32129     1  0 16:18 ?        00:00:00 uwsgi --ini uwsgi.ini
root     32131 32129  0 16:18 ?        00:00:00 uwsgi --ini uwsgi.ini
root     32132 32129  0 16:18 ?        00:00:00 uwsgi --ini uwsgi.ini
root     32133 32129  0 16:18 ?        00:00:00 uwsgi --ini uwsgi.ini
root     32134 32129  0 16:18 ?        00:00:00 uwsgi --ini uwsgi.ini
root     32135 32129  0 16:18 ?        00:00:00 uwsgi --ini uwsgi.ini

杀死进程

kill -9 32129 //将4个进程都杀死

7.nginx代理
安装nginx

cd /tmp
sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
yum install nginx

配置conf.d

cd /etc/nginx
cd /conf.d

删除默认defualt.conf文件

sudo rm -r defualt.conf

创建新文件并配置内容

sudo touch order.conf
vim order.conf
server {
        #监听80端口
        listen 80 default_server;
        #服务网址
        server_name 网址;
        #静态文件配置
        location /static {
                alias /data/www/orderAll/web/static/;
        }

        location / {
                try_files $uri @yourapplication;
        }

        location @yourapplication {
                include uwsgi_params;
                uwsgi_pass unix:/data/www/logs/order.sock;
        }

}
sudo service nginx start #已开启使用sudo service nginx reload

检查配置

nginx -c /etc/nginx/nginx.conf
上一篇下一篇

猜你喜欢

热点阅读