欢迎使用CSDN-markdown编辑器
来源:互联网 发布:东京增大茶淘宝有吗 编辑:程序博客网 时间:2024/05/17 11:05
阿里云 ubuntu 利用 ngnix uwsgi supervisor 部署 django
阿里云 ubuntu 利用 ngnix uwsgi supervisor 部署 django
一时兴起,买了个阿里云的ECS :操作系统: Ubuntu 12.04 64位
部署下来,坑坑挖挖不少,就想记录下来,已备后来者参考
apt-get updateapt-get dist-upgradeapt-get install update-manager-coredo-release-upgrade -d
一路敲Y或者回车,基本升级完成,升级后putty:
Welcome to Ubuntu 14.04.5 LTS (GNU/Linux 3.13.0-119-generic x86_64)
参考:http://www.mobibrw.com/2016/3789
通过以下使用apt-get安装相关程序,可以复制内容保存为shell脚本,chmod u+x 加可执行权限后一键安装
并建立名为 : classbuy 项目文件夹,创建用户:user_classbuy, 创建组 classbuy ,执行 passwd user_classbuy时需要输入密码
#bin/bashaptitude updateaptitude upgradeapt-get install python-dev nginxapt-get install python-virtualenvapt-get build-depapt-get install supervisorapt-get install nginxapt-get install elinksmkdir /classbuymkdir -p /classbuy/classbuy/staticmkdir -p /classbuy/classbuy/mediamkdir -p /classbuy/classbuy/templatemkdir -p /classbuy/logstouch /classbuy/logs/gunicorn_supervisor.logtouch /classbuy/logs/gunicorn_supervisor.loggroupadd --system classbuyuseradd --system --gid classbuy --shell /bin/bash --home /classbuy user_classbuypasswd user_classbuy
这些基本完成之后,就可以开干,为了更好开发建议用virtualenv环境
virtualenv -p /usr/bin/python3.4 /classbuypip install djangopip install uwsgidjango-admin.py startproject classbuy
进行 /classbuy/classbuy ,运行如下,看能否成功,能就迈出第一步了
python manage.py runserver
建立UWSGI.ini文件并写放如下内容
[uwsgi]socket = /classbuy/run/classbuy.sockchdir = /classbuy/classbuywsgi-file = classbuy/wsgi.pytouch-reload = /classbuy/reloadprocesses = 2threads = 4chmod-socket = 664chown-socket = user_classbuy:www-datavacuum = true
执行uwsgi如下命令看能否成功,如果有错,命令行会出现类似fail信息,可能是文件找不到的,请调整ini文件所在路径
/classbuy/bin/uwsgi –ini /classbuy/classbuy/uwsgi.ini
进入 /etc/supervisor/conf.d/
建议classbuy.conf 文件,内容如下,每句前面不能有空格, 注意:每句都有分号’;’,分号和语句结束多保留几个空格
classbuy.conf 作用是把uwsgi命令通过supervisor生成一个服务,时时刻刻都在生台执行
[program:classbuy]command = /classbuy/bin/uwsgi --ini /classbuy/classbuy/uwsgi.ini ; Command to start appuser = root ; User to run asdirectory=/classbuy/classbuy ;stdout_logfile = /classbuy/logs/gunicorn_supervisor.log ; Where to write log messagesredirect_stderr = true ;startsecs=0 ;stopwaitsecs=0 ;autorestart=true ;
supervisor reread
supervisor update
supervisor start classbuy
supervisor tail classbuy
可以通过tail查看 classbuy是否有bug或者问题
进入:/etc/nginx/sites-available/
建立 classbuy文件,内容如下,nginx 把域名转化为uwsgi ->sock来执行django manage runserver,
server { listen 80; server_name www.classbuy.cn max_fails=10 fail_timeout=10s; client_max_body_size 4G; access_log /classbuy/logs/nginx-access.log; error_log /classbuy/logs/nginx-error.log; location /static/ { alias /classbuy/classbuy/static/; } location /media/ { alias /classbuy/classbuy/media/; } location / { include /classbuy/uwsgi_params; uwsgi_pass unix:///classbuy/run/classbuy.sock; }}
service nginx restart 后就可以访问阿里云了 http://www.classbuy.cn/ (阿里云主机有内网和外网IP,还必须备案,因我是个人,备案从申请到批准几天时间(身份证,居住证之类)就很快完成,之后通过阿里云的云解析把公网IP和域名绑定一起)
流程走下来看似简单,就测试经常失败,在location 这项,有人使用如下(即使uwsgi也修改command为端口模式,指到同样的端口),我使用就是报错,后改通过sock方式没有一点问题。
期间多多看log,看问题出现在哪后去google或者百度
/var/log/nginx/
/var/log/supervisor/
include uwsgi_params;
uwsgi_pass 127.0.0.1:8000;
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 彻底删除SVN版本库中部分文件夹或文件
- 徽章系列6: Api\_Level 的使用
- 服务器代码与本地代码不同步,还需要将本地代码上传
- thread37
- 徽章系列7: codacy 的使用
- 欢迎使用CSDN-markdown编辑器
- matlab之连续+离散的三维曲面绘制
- 徽章系列8:生成个性徽章
- SSM框架整合开发的文件配置
- CSS标签大全——十分完整!!!
- Java字符串进阶
- windows7下安装DockerToolbox后VBoxmanage.exe报错
- Muller-box(转自百度百科)
- Android开发中保存用户名和密码