centos下用uwsgi + nginx + mysql部署django项目
2018-03-12 09:27
1101 查看
centos上安装python、nginx以及uwsgi各种相关依赖就不再赘述,详情可见CentOS6.8编译安装Python3.6 + pip + Nginx以及阿里云新手Flask + nginx + uwsgi + ubuntu的完整项目部署教程
这里我修改了django的默认数据库(sqlite3),改为了mysql,具体是在settings.py中修改关于数据库配置的代码,如下:
成功之后,浏览器访问 ip地址:8004 即可看到与上图同样的界django欢迎界面,这就说明连接成功了。
很多教程上说要建立django_wsgi,现在的版本已经不需要了,直接myproject.wsgi即可。
这时候访问浏览器
测试uwsgi
vim test.py # test.py def application(env, start_response): start_response('200 OK', [('Content-Type','text/html')]) return [b"Hello World"] # python3 注意不要丢掉 ‘b’ #return ["Hello World"] # python2 # uwsgi测试命令 uwsgi --http :8001 --wsgi-file test.py # 此时访问 ip地址:8001/ 就可以看到Hello World了 # 要注意的是,return语句后边的'b'一定要加上,否则网页无输出,因为在python3中,字符默认是Unicode,所以必须进行编码
Django安装及测试
pip install django # pip安装django django-admin.py startproject myproject # 创建django项目 cd myproject # 进入项目文件夹 python manage.py runserver 0.0.0.0:8003 # 运行django项目 # 打开浏览器访问 ip地址:8003, 就可以看到Django的欢迎界面了
这里我修改了django的默认数据库(sqlite3),改为了mysql,具体是在settings.py中修改关于数据库配置的代码,如下:
ALLOWED_HOSTS = ['*'] # 28行
DATABASES = { # 77行 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': '你的数据库名', 'USER':'你的mysql账户', 'PASSWORD':'你的mysql密码', 'HOST':'localhost', 'PORT':'3306', } }
连接uwsgi和Django
执行如下命令:uwsgi --http :8004 --chdir /usr/local/nginx/html/django/myproject --module myproject.wsgi # 注意:chdir /usr/local/nginx/html/django/myproject 这是你项目具体所在的路径(绝对路径)
成功之后,浏览器访问 ip地址:8004 即可看到与上图同样的界django欢迎界面,这就说明连接成功了。
很多教程上说要建立django_wsgi,现在的版本已经不需要了,直接myproject.wsgi即可。
nginx的安装和测试
在文章开头的两个链接里有,安装步骤也很清晰,跟着做就可以了,为避免重复,这里就不再写了。连接uwsgi和nginx
本着最小改动的原则,修改nginx.conf文件如下:vim /usr/local/nginx/conf/nginx.conf # 不修改nginx.conf的原本内容,翻到文件最底部,添加下一行代码 include vhost/*.conf; # 然后回到conf目录下,新建一个vhost目录,在vhost中新建一个myproject.conf文件,内容如下: server { listen 8093; server_name idandan.vip; # substitute your machine's IP address or FQDN charset utf-8; # 静态文件所在位置,可以自己定义 location /static { root /usr/local/nginx/html/django/myprojec/; } location / { root /usr/local/nginx/html/django/myproject; uwsgi_pass 127.0.0.1:8010; # 端口跟socket端口要保持一致 include uwsgi_params; # the uwsgi_params file you installed } }
连接uwsgi、Django与Nginx
# 在项目文件夹下添加uwsgi.ini文件,方便后台启动,不用每次都输入一堆命令,具体代码如下: [uwsgi] socket = :8010 # 端口号和myproject.conf文件中的uwsgi_pass参数中的端口保持一致 chdir = /usr/local/nginx/html/django/myproject wsgi-file=myproject/wsgi.py module = myproject.wsgi master = true processes = 4 vacuum = true pidfile =pid.uwsgi daemonize = UWSGI.log
启动uwsgi.ini
uwsgi --ini uwsgi.ini
这时候访问浏览器
ip地址:8093就可以看到效果了。
相关文章推荐
- CentOS nginx django uwsgi mysql 部署项目
- centos7下nginx+uwsgi部署django项目问题记录
- django开发个人简易Blog—nginx+uwsgin+django1.6+mysql 部署到CentOS6.5
- centos 部署 Nginx + uwsgi + django +mysql 多站点
- 在阿里云ECS上部署 Django+MySQL+uWSGI+Nginx 项目的基本流程
- CentOS7.2 nginx和uwsgi部署django项目步骤:
- 配置阿里云CentOS7.2+nginx+uwsgi 部署flask项目
- django1.8+uwsgi+nginx+supervisord部署项目笔记
- 使用uwsgi+nginx部署django项目
- 从零开始搭建个人网站(6)nginx+uWSGI部署Django项目(上)
- CentOS部署Nginx+uWSGI+Django
- uWSGI + Nginx 部署 Django 项目笔记
- nginx1.4.7+uwsgi+django1.9.2项目部署,liunx系统为ubuntu14.0.4
- 基于nginx和uWSGI在Ubuntu系统上部署Django项目
- CentOS7部署Django,nginx,uwsgi,redis
- Python3 开发以及部署 RESTful API项目(Python3 + Django2.0 + Django REST FrameWork + Centos7 + uWsgi + Nginx
- nginx + uwsgi 部署Django项目
- Nginx+uWSGI+Django Centos 部署
- django项目的生产环境部署,利用nginx+uwsgi
- Ubuntu16.04下Nginx+uwsgi部署Django项目