发布时间:2019-09-24 08:20:11编辑:auto阅读(1403)
https://blog.51cto.com/jokerbug by:joker_bug
$ pip install virtualenv
$ pip install virtualenvwrapper
$ vi .bashrc
if [ -f /usr/local/bin/virtualenvwrapper.sh ]; then
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
fi
$ mkvirtualenv --python=python3 flask #flask这个名字可以按自己需求修改,我项目是需要python3。所以选择 --python=python3,如果需要python2可以不加这个。
$ deactivate #安装完虚拟环境后,先退出这个虚拟环境。
$ apt install mysql-server mysql-client
$ apt install libmysqld-dev
$ apt install nginx #这个安装也比较简单
$ vi /usr/local/bin/pip #如果发现pip是python3,不要慌用这个命令把第一行的python3修改python2 即可,如果是python2就无视这步
$ pip install supervisor #安装supervisor
$ workon flask #进入虚拟环境
$ pip install uwsgi #这个之前装到虚拟环境里面
apt-get install python3-dev
$ mkdir /www #根目录下创建一个www
$ mkdir /www/wwwroot #这个项目文件全部放这个理
$ mkdir /www/log #日志文件
$ cd /www/wwwroot #可以放到项目,按自己需求都可以
$ vi uwsgi.ini #创建一个uwsgi配置文件
[uwsgi]
# 当前这个项目的路径
chdir = /www/wwwroot
# 模块
module = manage #启动文件名 个人理解
# python的虚拟环境
home = /root/.virtualenvs/python3
# 是否启用mater模式
master = true
# 进程数
processes = 2
# socket文件地址
socket = /www/wwwroot/uwsgi.sock
# wsgi文件
wsgi-file = /www/wwwroot/manage.py #启动文件
# wsgi文件中的app变量
callable = app
# socket文件的权限
chmod-socket = 666
$ workon python3 #进入虚拟环境
$ uwsgi --uid www --gid www --ini /www/wwwroot/uwsgi.ini #这个可以指定用户和用户组权限,也可以不指定。测试没能正常打开项目就往下面步骤继续配置
$ cd /etc/nginx/sites-enabled/ #切换到nginx默认配置目录
$ mv default default.bak #修改配置前先备份下配置
$ vi default
server {
listen 80;
server_name www.xxoo.com;
charset utf-8;
client_max_body_size 75M;
access_log /www/log/xxoo.access.log;
error_log /www/log/xxoo.error.log;
location / {
include uwsgi_params;
uwsgi_pass unix:/www/wwwroot/uwsgi.sock; #这个.sock文件一定要和uwsgi配置中一样
}
}
$ vi supervisor.conf
[program:python] #这个python可以按自己需求写
# supervisor执行的命令
command=/root/.virtualenvs/py3-zqcms/bin/uwsgi --uid www --gid www --ini /www/wwwroot/uwsgi.ini
# 项目的目录
directory = /www/wwwroot
# 开始的时候等待多少秒
startsecs= 5 #按自己需求写
# 停止的时候等待多少秒
stopwaitsecs= 5 #按自己需求写
# 自动开始
autostart=true
# 程序挂了后自动重启
autorestart=true
# 输出的log文件
stdout_logfile=/www/log/supervisord.log
# 输出的错误文件
stderr_logfile=/www/log/supervisorderr.log
[supervisord]
# log的级别
loglevel=info
$ supervisord -c /www/wwwroot/supervisor.conf #执行的时候注意是在python2环境
$ ps -ef | grep supervisor #查看
$ kill 4012 #结束进程
上一篇: python笔记3:依次输入3个数排序打
下一篇: python 3.x 分析日志的模块(正
47776
46290
37179
34669
29262
25920
24808
19896
19456
17952
5747°
6352°
5865°
5917°
7018°
5853°
5878°
6384°
6343°
7712°