设为首页 收藏本站
查看: 668|回复: 0

[经验分享] centos7 + nginx+django 运行环境

[复制链接]

尚未签到

发表于 2017-12-22 19:43:42 | 显示全部楼层 |阅读模式
1、easy_install和pip都是用来下载安装Python一个公共资源库PyPI的相关资源包的  
首先安装easy_install
  
下载地址:https:
//pypi.python.org/pypi/ez_setup  
tar -zxf ez_setup-0.9.tar.gz
  
cd ez_setup-0.9
  
python ez_setup.py
  
安装好easy_install 之后 再安装pip
  
下载地址:https://pypi.python.org/pypi/pip
  
tar -zxf pip-8.1.2.tar.gz
  
cd pip-8.1.2
  
python setup.py install
  

  

  
2、安装 supervisor, 一个专门用来管理进程的工具
  
pip install supervisor
  
3、关闭防火墙
  
临时关闭防火墙
  
systemctl stop firewalld
  
或者 开放需要的端口
  
firewall-cmd --zone=public --add-port=80/tcp --permanent
  
firewall-cmd --reload
  
4. 使用 gunicorn / uwsgi 来部署 (二选一)
  
4.1 使用 gunicorn
  
pip install gunicorn
  
在项目目录下运行下面的命令进行测试:
  
gunicorn -w4 -b0.0.0.0:8001 zqxt.wsgi
  
-w 表示开启多少个worker,-b 表示要使用的ip和port,我们这里用的是 8001,0.0.0.0代表监控电脑的所有 ip。
  

  
4.2 使用 uwsgi
  
pip install uwsgi
  
使用 uwsgi 运行项目
  
uwsgi --http :8001 --chdir /path/to/project --home=/path/to/env --module project.wsgi
  
5、 使用supervisor来管理进程
  
pip install supervisor
  
echo_supervisord_conf > /etc/supervisord.conf
  
打开 supervisor.conf 在最底部添加(每一行前面不要有空格,防止报错):
  
[program:zqxt]
  
command=/path/to/uwsgi --http :8003 --chdir /path/to/zqxt --module zqxt.wsgi
  
directory=/path/to/zqxt
  
startsecs=0
  
stopwaitsecs=0
  
autostart=true
  
autorestart=true
  
command 中写上对应的命令,这样,就可以用 supervisor 来管理了。
  

  
启动 supervisor
  
supervisord -c /etc/supervisord.conf
  
重启 zqxt 程序(项目):
  
supervisorctl -c /etc/supervisord.conf restart zqxt
  
启动,停止,或重启 supervisor 管理的某个程序 或 所有程序:
  supervisorctl -c /etc/supervisord.conf [start|stop|restart] [program-name|all]
  
以 uwsgi 为例,上面这样使用一行命令太长了,我们使用 ini 配置文件来搞定,比如项目在 /home/tu/zqxt 这个位置,
  
在其中新建一个 uwsgi.ini 全路径为 /home/tu/zqxt/uwsgi.ini
  
[uwsgi]
  
socket = /tmp/zqxt.sock
  
chdir=/home/tu/zqxt
  
wsgi-file = zqxt/wsgi.py
  
touch-reload=/home/tu/zqxt/reload
  
processes = 2
  
threads = 4
  
chmod-socket = 664
  
chown-socket=tu:www-data
  
注意上面的 /tmp/zqxt.sock ,一会儿我们把它和 nginx 关联起来。

  
在项目上新建一个空白的>  
修改 supervisor 配置文件中的 command 一行:
  
[program:zqxt]
  
command=/path/to/uwsgi --ini /home/tu/zqxt/uwsgi.ini
  
directory=/path/to/zqxt
  
startsecs=0
  
然后重启一下 supervisor:
  
supervisorctl -c /etc/supervisord.conf restart zqxt
  
supervisorctl -c /etc/supervisord.conf restart all
  
6、. 配置 Nginx
  
server {
  listen      80;
  server_name www.ziqiangxuetang.com;
  charset     utf-8;
  client_max_body_size 75M;
  location /media  {
  alias /path/to/project/media;
  }
  location /static {
  alias /path/to/project/static;
  }
  location / {
  uwsgi_pass  unix:///tmp/zqxt.sock;
  include     /etc/nginx/uwsgi_params;
  }
  
}
  
激活网站:
  
ln -s /etc/nginx/sites-available/zqxt.conf /etc/nginx/sites-enabled/zqxt.conf
  
测试配置语法问题
  
service nginx configtest
  
重启 nginx 服务器:

  
service nginx>  
service nginx restart

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-426947-1-1.html 上篇帖子: 关于 安装nginx的一些openssl笔记 下篇帖子: 用Python实现的Nginx日志监控程序
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表