参考
https://www.digitalocean.com/community/tutorials/how-to-serve-django-applications-with-uwsgi-and-nginx-on-ubuntu-16-04

1.安装pip

sudo apt-get update
sudo apt-get install python-pip

如果您使用python3
sudo apt-get update
sudo apt-get install python3-pip

2.使用pip 安装virtualenv 和 virtualenvwrapper

sudo pip install virtualenv virtualenvwrapper

如果您使用python3

sudo pip3 install virtualenv virtualenvwrapper

问题:locale.Error: unsupported locale setting
解决:

sudo apt-get install language-pack-id
export LC_ALL="en_US.UTF-8"
export LC_CTYPE="en_US.UTF-8"
sudo dpkg-reconfigure locales

3.配置环境变量

echo "export WORKON_HOME=~/Env" >> ~/.bashrc
echo "source /usr/local/bin/ virtualenvwrapper.sh" >> ~/.bashrc

4.初始化脚步

source ~/.bashrc

5.创建虚拟目录

mkvirtualenv firstsite

6.安装django

pip install django

7.创建django项目

cd ~
django-admin.py startproject firstsite

8.初始化django项目

cd ~/firstsite
./manage.py migrate
./manage.py createsuperuser

9.修改项目static

nano firstsite/settings.py

在settings.py中

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static/')

10.收集一下静态文件

./manage.py collectstatic

11.更新一下防火墙

sudo ufw allow 8080

12.运行一下项目

./manage.py runserver 0.0.0.0:8080

13.浏览器里查看一下

http://域名或ip:8080

14.退出virtualenv环境

deactivate

如果您想再次进入可以 workon firstsite

15.安装uWSGI

sudo apt-get install python-dev
sudo pip install uwsgi

16.测试是否安装好了

uwsgi --http :8080 --home /home/guanli/Env/firstsite --chdir /home/guanli/firstsite -w firstsite.wsgi

请注意,将/home/guanli/替换成你自己的路径
测试中admin页面的css可能会无法显示

17.设置配置文件

sudo mkdir -p /etc/uwsgi/sites
cd /etc/uwsgi/sites

18.编写项目ini文件

sudo vi firstsite.ini

[uwsgi]
project = firstsite
uid = guanli
base = /home/%(uid) chdir = %(base)/%(project)
home = %(base)/Env/%(project)
module = %(project).wsgi:application master = true
processes = 5 socket = /run/uwsgi/%(project).sock
chown-socket = %(uid):www-data
chmod-socket = 660
vacuum = true
  1. 创建系统unit file 为uWSGI

    sudo vi /etc/systemd/system/uwsgi.service
    [Unit]
    Description=uWSGI Emperor service [Service]
    ExecStartPre=/bin/bash -c 'mkdir -p /run/uwsgi; chown guanli:www-data /run/uwsgi'
    ExecStart=/usr/local/bin/uwsgi --emperor /etc/uwsgi/sites
    Restart=always
    KillSignal=SIGQUIT
    Type=notify
    NotifyAccess=all [Install]
    WantedBy=multi-user.target

20.配置nginx

sudo apt-get install nginx

21.创建nginx站点

sudo vi /etc/nginx/sites-available/firstsite

server {
listen 80;
server_name waikanvip.com 121.194.213.236; location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
root /home/guanli/firstsite;
} location / {
include uwsgi_params;
uwsgi_pass unix:/run/uwsgi/firstsite.sock;
}
}

22.创建软连接到enabled目录

sudo ln -s /etc/nginx/sites-available/  firstsite /etc/nginx/sites-enabled

23.检测一下配置是否正确

sudo ln -s /etc/nginx/sites-available/firstsite /etc/nginx/sites-enabled

24.重启nginx

sudo systemctl restart nginx

25 启动uwsgi

sudo systemctl start uwsgi

26.修改防火墙 nginx策略

sudo ufw delete allow 8080
sudo ufw allow 'Nginx Full'

27.自动启动

sudo systemctl enable nginx
sudo systemctl enable uwsgi

配置完成

ubuntu 16 安装django nginx uWSGI的更多相关文章

  1. Ubuntu系统搭建django+nginx+uwsgi

    1. 在开发机上的准备工作 2. 在服务器上的准备工作 3.安装uwsgi 4.编写uwsgi配置文件,使用配置文件启动uwsgi 5. 安装nginx 6. 收集静态文件 7. 编写nginx配置文 ...

  2. Ubuntu+Django+Nginx+uWSGI+Mysql搭建Python Web服务器

    Ubuntu+Django+Nginx+uWSGI+Mysql搭建Python Web服务器 闲着无聊的时候部署了一个Django项目玩,用vm虚拟机部署的. 准备工作 我使用的系统是Ubuntu16 ...

  3. ubuntu+Django + nginx + uwsgi 部署

    ubuntu+Django + nginx + uwsgi 部署 0.前期准备 注意:以下几件事都必须在激活虚拟环境下完成 运行以下命令生成项目所需的依赖列表,会在项目根目录生成一个requireme ...

  4. 吴裕雄--天生自然Django框架开发笔记:Django Nginx+uwsgi 安装配置

    Django Nginx+uwsgi 安装配置 使用 python manage.py runserver 来运行服务器.这只适用测试环境中使用. 正式发布的服务,需要一个可以稳定而持续的服务器,比如 ...

  5. CentOS 6.5下安装Python+Django+Nginx+uWSGI

    1.安装Python31.1先安装zlib库及其他三方库安装uWSGI时需要使用zlib,否则执行python uwsgiconfig.py --build时会报ImportError,就是因为在安装 ...

  6. centos 下部署django nginx+uwsgi

    为了建立一个工作站,也是麻烦了.... 感谢该博主: https://www.cnblogs.com/levelksk/p/7921066.html 1.安装centos 后首先安装python,下载 ...

  7. Install Python+Django+Nginx+UWSGI

    一.软件环境: CentOS6.6_64bit 需要用到的软件: [root@django tools]# ll 总用量 33336 -rw-r--r-- 1 root root 7497785 3月 ...

  8. CentOS上部署Django+Nginx+Uwsgi环境

    在CentOS上部署Django+Nginx+Uwsgi环境 奇谭  2016-09-01 评论  Linux  python django nginx uwsgi VirtualEnv的作用:创建隔 ...

  9. Linux - 搭建Web项目(Django + nginx + uwsgi)

    工作中碰到需要使用Django + nginx + uwsgi 搭建项目环境 1. 搭建基本环境 需要有python环境,不多做说明 需要安装nginx,不多做说明 需要安装uwsgi: yum in ...

随机推荐

  1. Hadoop单机模式配置

    Required Software 1. 安装Java环境推荐的版本在链接中有介绍HadoopJavaVersions. 2. 安装ssh以使用hadoop脚本管理远程Hadoop daemons. ...

  2. 玩转Windows服务系列汇总

    玩转Windows服务系列汇总 创建Windows服务 Debug.Release版本的注册和卸载及其原理 无COM接口Windows服务启动失败原因及解决方案 服务运行.停止流程浅析 Windows ...

  3. Android Secret Code

    我们很多人应该都做过这样的操作,打开拨号键盘输入*#*#4636#*#*等字符就会弹出一个界面显示手机相关的一些信息,这个功能在Android中被称为android secret code,除了这些系 ...

  4. 命令行查看Windows激活信息(win7、win8、win10...)

    使用:Win+ R 组合键,打开运行命令框,复制命令,粘贴后回车. slmgr.vbs -xpr 查询Windows是否永久激活slmgr.vbs -dlv 查询到Windows的激活信息,包括:激活 ...

  5. Centos6.5中安装和配置vsftp详细总结

    一.vsftp安装篇 #查看是否安装:rpm -qa|grep vsftpd#卸载vsftpdrpm -e vsftpd-2.2.2-11.el6_3.1x86_64 --nodeps# 安装vsft ...

  6. FastCgi与PHP-fpm之间的关系

    web server(比如说nginx)只是内容的分发者.比如,如果请求/index.html,那么web server会去文件系统中找到这个文件,发送给浏览器,这里分发的是静态数据.好了,如果现在请 ...

  7. iOS--NSDate的基本操作和常用核心功能

    不在赘述理论,直接贴代码 typedef enum : NSUInteger { Date1BelongToPast = -1, Date1BelongToToday = 0, Date1Belong ...

  8. 阿里云accessKey如何创建?~ 2015.08.25

    选择导航条上面的ACCESSKeys(工单服务左边,我一开始也没注意到) 创建一下,然后同意 验证一下 收工

  9. 阿里云自定义日记文件无法通过ftp下载

    异常处理汇总 ~ 修正果带着你的Net飞奔吧!http://www.cnblogs.com/dunitian/p/4599258.html 有可能是个例,xftp不行(对linux支持很好),Cute ...

  10. quartz.net 时间表达式----- Cron表达式详解

    序言 Cron表达式:就是用简单的xxoo符号按照一定的规则,就能把各种时间维度表达的淋漓尽致,无所不在其中,然后在用来做任务调度(定时服务)的quart.net中所认知执行,可想而知这是多么的天衣无 ...