Nginx + uwsgi + Django 简单上线配置
2017-06-12 18:23
981 查看
先放上我线上部署结果:
http://47.94.4.96:8080
所有的注释自己手动删除,我忘了具体哪个是哪个的注释方法
没用过这种高级玩意,折腾好一阵子了,可算基本能用了.记录一下~
参考资料:http://code.ziqiangxuetang.com/django/django-nginx-deploy.html 自强学堂
线上环境
Ubuntu Python 2.7 Django 1.8 nginx 1.10.0, uWSGI 2.0.15 supervisord 3.3.2
目录结构(为什么好多人的教程不告诉我目录结构新手不懂啊- -)
假设有
/home/xxx/.../myblog
myblog
|__blog
|__static
|__media
|
|__mysite
|
|__uwsgi.ini
(不带后缀的是文件夹)
uWSGI部分
uwsgi.ini
最终
创建一个supervisord.conf文件echo_supervisord_conf \> ~/supervisord.conf
并在最后添加如下
[program:blog]
;uWSGI不知道用which uWSGI查看试试
command=/uWSGI的安装地址/uwsgi --ini /home/xxx/.../myblog/uwsgi.ini ;指定ini的地址
directory=/home/xxx/.../myblog ;工程目录
startsecs=0
stopwaitsecs=0
autostart=true
autorestart=true
nginx部分
在自己的xxx/nginx/sites-available/下, 创建myblog.conf
地址举例: /etc/nginx/sites-available/mybog.conf
如:ln -s /etc/nginx/sites-available/mmyblog.conf /etc/nginx/sites-enable/myblog.conf
执行nginx -t 出来如下成功
nginx的log查看
查看nginx 默认log: /var/log/nginx/error.log
运行时候可以使用tail -100f /var/log/nginx/error.log进行查看
网页浏览时,无法打开static的内容(即error.log 中13: Permission denied 错误)
另外nginx默认用户为www-data,可能会导致权限不足,因为很有可能你是用root权限操作的
那么需要在 /etc/ngixn/nginx.conf 中的user www-data改成root,或者其他有权限操作的用户
http://47.94.4.96:8080
所有的注释自己手动删除,我忘了具体哪个是哪个的注释方法
没用过这种高级玩意,折腾好一阵子了,可算基本能用了.记录一下~
参考资料:http://code.ziqiangxuetang.com/django/django-nginx-deploy.html 自强学堂
线上环境
Ubuntu Python 2.7 Django 1.8 nginx 1.10.0, uWSGI 2.0.15 supervisord 3.3.2
目录结构(为什么好多人的教程不告诉我目录结构新手不懂啊- -)
假设有
/home/xxx/.../myblog
myblog
|__blog
|__static
|__media
|
|__mysite
|
|__uwsgi.ini
(不带后缀的是文件夹)
uWSGI部分
uwsgi.ini
[uwsgi] socket = 127.0.0.1:28080 #这个地方和下面的那个地方一样的!!!这个端口就是写28080不是8080,可以随便写可用的端口号 chdir = /home/xxx/.../myblog wsgi-file = /home/xxx/.../myblog/mysite/wsgi.py touch-reload = /home/xxx/.../myblog/reload #自己touch一个就行
//可以用这个先测试下项目是否能运行 uwsgi --http :8080 --chdir /home/xxx/.../myblog/blog --wsgi-file /home/xxx/.../myblog/mysite/wsgi.py 在浏览器中输入地址 IP:8080 能运行就是项目没有问题
最终
创建一个supervisord.conf文件echo_supervisord_conf \> ~/supervisord.conf
并在最后添加如下
[program:blog]
;uWSGI不知道用which uWSGI查看试试
command=/uWSGI的安装地址/uwsgi --ini /home/xxx/.../myblog/uwsgi.ini ;指定ini的地址
directory=/home/xxx/.../myblog ;工程目录
startsecs=0
stopwaitsecs=0
autostart=true
autorestart=true
使用如下命令启动 supervisord -c ~/supervisord.conf
nginx部分
在自己的xxx/nginx/sites-available/下, 创建myblog.conf
地址举例: /etc/nginx/sites-available/mybog.conf
server{ listen 8080; server_name 192.168.0.1;#这个地方可以是自己的ip也可以是www.xxxx.com charset utf-8; client_max_body_size 75M; location /media { alias /home/xxx/.../myblog/blog/media; } location /static { alias /home/xxx/.../myblog/blog/static; } location / { uwsgi_pass 127.0.0.1:28080; #这个地方和上面的一样的!!! include /etc/nginx/uwsgi_params; } }将sites-available/myblog.conf 软连接到 sites-enable/myblog.conf
如:ln -s /etc/nginx/sites-available/mmyblog.conf /etc/nginx/sites-enable/myblog.conf
执行nginx -t 出来如下成功
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful如果不成功在不修改默认log的情况下
nginx的log查看
查看nginx 默认log: /var/log/nginx/error.log
运行时候可以使用tail -100f /var/log/nginx/error.log进行查看
网页浏览时,无法打开static的内容(即error.log 中13: Permission denied 错误)
另外nginx默认用户为www-data,可能会导致权限不足,因为很有可能你是用root权限操作的
那么需要在 /etc/ngixn/nginx.conf 中的user www-data改成root,或者其他有权限操作的用户
相关文章推荐
- 第四百零二节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署,uwsgi安装和启动,nginx的安装与启动,uwsgi与nginx的配置文件+虚拟主机配置
- Django,uwsgi,nginx简单配置
- Mac os X 配置 django + uWSGI + nginx 简单构建过程分享
- Ubuntu12.4系统下配置Django+Nginx+uWSGI
- nginx + uwsgi简单配置
- nginx + django + uwsgi 配置
- 在树莓派2为django配置uwsgi和nginx服务
- 我的 Fedora 20 + django + nginx + uwsgi 配置
- Debian环境 Python + Django + Nginx + uWSGI + MySQL 配置备忘
- Nginx+uwsgi+django+RabbitMQ+celery安装配置
- Ubuntu Server 14.04.2 LTS 配置 Nginx + uwsgi + Django
- Ubuntu linux nginx + uwsgi + django 配置
- 在服务器上简单配置flask+uwsgi+nginx(只是可工作~嘿)
- debian下面nginx + uwsgi + Django1.5.1 配置环境
- 在Debian下配置Python+Django+Nginx+uWSGI+MySQL的教程
- Ubuntu12.04 + Nginx + uWSGI + Django1.4配置
- Debian环境 Python + Django + Nginx + uWSGI + MySQL 配置
- nginx+uwsgi+django1.6 配置过程
- Django+uwsgi+nginx配置详解
- Nginx+uwsgi+Django 搭建一个简单的web服务器