ubuntu 16 安装django nginx uWSGI
2016-06-20 19:47
525 查看
参考 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
创建系统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
配置完成
相关文章推荐
- Nginx介绍及安装配置
- (转)Nginx配置和内核优化 实现突破十万并发
- 让Nginx处理Django的静态文件
- linux 安装nginx
- centos 6.5下安装mysql+nginx+redmine 3.1.0 笔记
- 四:深入Nginx之事件和连接 (之一)
- centos7 服务器安装nginx,mysql,php
- 使用nginx lua实现网站统计中的数据收集
- Linux系统安装Nginx教程
- Nginx负载均衡配置实例详解
- 玩玩负载均衡---在window与linux下配置nginx
- Fastdfs与Nginx的整合
- Fastdfs与Nginx的整合
- 三:深入理解Nginx的模块化 (结合源码详解)
- CentOS6.5使用yum命令方便快捷安装Nginx
- 使用Nginx+FFMPEG搭建HLS直播转码服务器
- nginx 安装
- nginx 安装
- nginx 负载均衡,多站点共享Session
- Centos6.5源码编译安装nginx