一起牛网_苹果安卓手游族群聚集地!

微信:96kaifa
关注我们
所在位置:首页 > 服务器 > Ubuntu 14.04使用Nginx uWSGI部署Django应用

Ubuntu 14.04使用Nginx uWSGI部署Django应用

发布时间:2021-06-27 14:38:50来源:一起牛手游网作者:一起牛手游网

Django是一个高级的Python Web框架,Django的主要目的是简便、快速的开发数据库驱动的网站。本文介绍了在Ubuntu 14.04上使用uWSGI和nginx部署Django应用程序。

安装nginx, Python工具和uWSGI

1.安装nginx,SQLite Python bindings和管理Python工具所需的系统包:

  1. sudo apt-get install build-essential nginx python-dev python-pip python-sqlite sqlite

2.安装virtualenv和virtualenvwrapper:

  1. sudo pip install virtualenv virtualenvwrapper

virtualenv和virtualenvwrapper是创建隔离的Python环境的工具。 它们有助于更好地管理应用程序依赖性,版本和权限。 要使virtualenvwrapper正常工作,请运行以下命令:

  1. echo "export WORKON_HOME=~/Env" >> ~/.bashrc

  2. echo "source /usr/local/bin/virtualenvwrapper.sh" >> ~/.bashrc

3.在当前会话中激活virtualenvwrapper:

  1. source ~/.bashrc

4.使用pip安装uWSGI:

  1. sudo pip install uwsgi

配置Django应用程序示例

1.确保您在django用户的主目录中并为应用程序创建虚拟环境:

  1. cd /home/django && mkvirtualenv sample

执行此命令后,您的提示将更改为(sample)django@example.com:~$表示您正在使用sample虚拟环境。 要退出虚拟环境,请输入deactivate。
2.安装Django framework

  1. pip install Django

3.创建新的Django应用程序示例,位于/home/django/sample:

  1. django-admin.py startproject sample

4.切换到Django应用程序的目录并初始化SQLite数据库:

  1. cd ~/sample && ./manage.py migrate

5.当使用nginx运行Django时,需要配置Django将所有静态资源放在应用程序的静态文件夹中。 在settings.py中指定其位置:

  1. echo ‘STATIC_ROOT = os.path.join(BASE_DIR, "static/")’ >> sample/settings.py

6.运行以下命令将所有静态资源移动到上述目录中:

  1. ./manage.py collectstatic

7.启动开发服务器以测试示例应用程序:

  1. ./manage.py runserver 0.0.0.0:8080

请在您的浏览器中访问http://example.com:8080,以确认示例应用程序已正确设置并正常工作。 您应该会看到Django测试页。

配置uWSGI

1.创建目录以存放uWSGI配置

  1. sudo mkdir -p /etc/uwsgi/sites

2.创建配置文件sample.ini:
/etc/uwsgi/sites/sample.ini:

  1. [uwsgi]

  2. project = sample

  3. base = /home/django

  4.  

  5. chdir = %(base)/%(project)

  6. home = %(base)/Env/%(project)

  7. module = %(project).wsgi:application

  8.  

  9. master = true

  10. processes = 2

  11.  

  12. socket = %(base)/%(project)/%(project).sock

  13. chmod-socket = 664

  14. vacuum = true

3.为uWSGI创建Upstart job:
/etc/init/uwsgi.conf:

  1. description "uWSGI"

  2. start on runlevel [2345]

  3. stop on runlevel [06]

  4. respawn

  5.  

  6. env UWSGI=/usr/local/bin/uwsgi

  7. env LOGTO=/var/log/uwsgi.log

  8.  

  9. exec $UWSGI –master –emperor /etc/uwsgi/sites –die-on-term –uid django –gid www-data –logto $LOGTO

4.启动uwsgi服务

  1. sudo service uwsgi start

配置Nginx

1.删除默认的nginx站点配置:

  1. sudo rm /etc/nginx/sites-enabled/default

2.为您的Django应用程序创建一个nginx站点配置文件:
/etc/nginx/sites-available/sample:

  1. server {

  2.     listen 80;

  3.     server_name example.com;

  4.  

  5.     location = /favicon.ico { access_log off; log_not_found off; }

  6.     location /static/ {

  7.         root /home/django/sample;

  8.     }

  9.  

  10.     location / {

  11.         include         uwsgi_params;

  12.         uwsgi_pass      unix:/home/django/sample/sample.sock;

  13.     }

  14. }

3.创建指向nginx sites-enabled目录的符号链接以启用站点配置文件:

  1. sudo ln -s /etc/nginx/sites-available/sample /etc/nginx/sites-enabled

4.检查nginx配置并重新启动它:

  1. sudo service nginx configtest && sudo service nginx restart

5.现在,您应该可以通过浏览器输入你的域名或IP地址来访问您的Django应用程序。


我要评价

  • 热门资讯
  • 最新资讯
  • 手游排行榜
  • 手游新品榜