Open hackstoic opened 8 years ago
系统环境: ubuntu12.04; python2.7( ubuntu12.04 默认安装了python2.7版本)
$ sudo apt-get install python-pip python-dev build-essential $ sudo pip install --upgrade pip $ sudo pip install --upgrade virtualenv $ sudo apt-get install libmysqld-dev
sudo pip install django (下载最新的django) 也可以指定django版本进行安装,例如 sudo pip install django==1.7.3 或者也可以采用源码安装的方式 各种系统和各种安装方式的详细说明可以查看这个链接: https://docs.djangoproject.com/en/1.8/intro/install/ 如果你需要移除老的django版本,再进行安装,可以查看: https://docs.djangoproject.com/en/1.8/topics/install/
$ sudo apt-get install mysql-server
$ sudo pip install mysql-python 或者使用sudo apt-get install python-mysqldb
sudo pip install uwsgi 或者使用源码安装 建议不使用apt-get的方式安装uwsgi, 用apt-get install安装的uwsgi ,结果nginx无论怎么配置,都会出现502 bad gateway 具体原因不明。
sudo apt-get install nginx
新建test文件
# test.py def application(env, start_response): start_response('200 OK', [('Content-Type','text/html')]) return"Hello World"
然后执行: uwsgi --http :8001 --wsgi-file test.py 在浏览器访问 http://youip:8001 即可看到结果
假设在/opt/django/目录下建立工程 django-admin.py startproject django_test #创建一个Django项目
(vim /opt/django/django_test/uwsgi_setting.ini, 粘贴以下内容)
[uwsgi] chdir=/opt/django/django_test/ module=django_test.wsgi master=True pidfile=/tmp/net.pid vacuum=True max-requests=5000 daemonize=/var/log/uwsgi.log processes=10 socket=127.0.0.1: 8001
启动uwsgi --> uwsgi --ini /opt/django/django_test/uwsgi_setting.ini
(在/etc/nginx/sites-available下建文件django_test.conf,内容如下,并且在 /etc/nginx/sites-enabled下建该文件的软链接ln -s ../sites-available/django_test.conf django_test.conf)
server { # 侦听的端口 listen 80; # 绑定的ip地址或者域名 server_name 127.0.0.1; access_log /var/log/django_test_nginx.log; location / { send_timeout 120; # 这里的端口要和uswgi配置的一致 uwsgi_pass 127.0.0.1: 8001; include /etc/nginx/uwsgi_params; } location /static/admin/{ # django模块路径可能会有差异,请根据实际情况调整 alias /usr/local/lib/python2.7/dist-packages/Django-1.7.1-py2.7.egg/django/contrib/admin/static/admin/; access_log off; } location /static{ alias /opt/django/django_test/static/; access_log off; } location /file/{ alias /var/www/file/; access_log off; } location /webalizer/ { alias /var/www/webalizer/; access_log off; } }
启动nginx --> nginx -c /etc/nginx/nginx.conf 配置重载(修改配置后要进行此操作) --> nginx -s reload
就此django + mysql + uwsgi + nginx的配置就完成了。你可以打开127.0.0.1访问你的网站了。
title: 搭建NGINX+UWSGI+DJANGO+MYSQL环境
安装pip工具和python开发环境
安装django
sudo pip install django (下载最新的django) 也可以指定django版本进行安装,例如 sudo pip install django==1.7.3 或者也可以采用源码安装的方式 各种系统和各种安装方式的详细说明可以查看这个链接: https://docs.djangoproject.com/en/1.8/intro/install/ 如果你需要移除老的django版本,再进行安装,可以查看: https://docs.djangoproject.com/en/1.8/topics/install/
安装mysql
$ sudo apt-get install mysql-server
安装mysql-python
$ sudo pip install mysql-python 或者使用sudo apt-get install python-mysqldb
安装uwsgi
sudo pip install uwsgi 或者使用源码安装 建议不使用apt-get的方式安装uwsgi, 用apt-get install安装的uwsgi ,结果nginx无论怎么配置,都会出现502 bad gateway 具体原因不明。
安装nginx
sudo apt-get install nginx
测试uwsgi
新建test文件
然后执行: uwsgi --http :8001 --wsgi-file test.py 在浏览器访问 http://youip:8001 即可看到结果
建立django项目工程
假设在/opt/django/目录下建立工程 django-admin.py startproject django_test #创建一个Django项目
配置uwsgi
(vim /opt/django/django_test/uwsgi_setting.ini, 粘贴以下内容)
启动uwsgi --> uwsgi --ini /opt/django/django_test/uwsgi_setting.ini
配置nginx
(在/etc/nginx/sites-available下建文件django_test.conf,内容如下,并且在 /etc/nginx/sites-enabled下建该文件的软链接ln -s ../sites-available/django_test.conf django_test.conf)
启动nginx --> nginx -c /etc/nginx/nginx.conf 配置重载(修改配置后要进行此操作) --> nginx -s reload
就此django + mysql + uwsgi + nginx的配置就完成了。你可以打开127.0.0.1访问你的网站了。