ubuntu 16 安装django nginx uWSGI
参考
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
配置完成
ubuntu 16 安装django nginx uWSGI的更多相关文章
- Ubuntu系统搭建django+nginx+uwsgi
1. 在开发机上的准备工作 2. 在服务器上的准备工作 3.安装uwsgi 4.编写uwsgi配置文件,使用配置文件启动uwsgi 5. 安装nginx 6. 收集静态文件 7. 编写nginx配置文 ...
- Ubuntu+Django+Nginx+uWSGI+Mysql搭建Python Web服务器
Ubuntu+Django+Nginx+uWSGI+Mysql搭建Python Web服务器 闲着无聊的时候部署了一个Django项目玩,用vm虚拟机部署的. 准备工作 我使用的系统是Ubuntu16 ...
- ubuntu+Django + nginx + uwsgi 部署
ubuntu+Django + nginx + uwsgi 部署 0.前期准备 注意:以下几件事都必须在激活虚拟环境下完成 运行以下命令生成项目所需的依赖列表,会在项目根目录生成一个requireme ...
- 吴裕雄--天生自然Django框架开发笔记:Django Nginx+uwsgi 安装配置
Django Nginx+uwsgi 安装配置 使用 python manage.py runserver 来运行服务器.这只适用测试环境中使用. 正式发布的服务,需要一个可以稳定而持续的服务器,比如 ...
- CentOS 6.5下安装Python+Django+Nginx+uWSGI
1.安装Python31.1先安装zlib库及其他三方库安装uWSGI时需要使用zlib,否则执行python uwsgiconfig.py --build时会报ImportError,就是因为在安装 ...
- centos 下部署django nginx+uwsgi
为了建立一个工作站,也是麻烦了.... 感谢该博主: https://www.cnblogs.com/levelksk/p/7921066.html 1.安装centos 后首先安装python,下载 ...
- Install Python+Django+Nginx+UWSGI
一.软件环境: CentOS6.6_64bit 需要用到的软件: [root@django tools]# ll 总用量 33336 -rw-r--r-- 1 root root 7497785 3月 ...
- CentOS上部署Django+Nginx+Uwsgi环境
在CentOS上部署Django+Nginx+Uwsgi环境 奇谭 2016-09-01 评论 Linux python django nginx uwsgi VirtualEnv的作用:创建隔 ...
- Linux - 搭建Web项目(Django + nginx + uwsgi)
工作中碰到需要使用Django + nginx + uwsgi 搭建项目环境 1. 搭建基本环境 需要有python环境,不多做说明 需要安装nginx,不多做说明 需要安装uwsgi: yum in ...
随机推荐
- JS中给正则表达式加变量
前不久同事询问我js里面怎么给正则中添加变量的问题,遂写篇博客记录下. 一.字面量 其实当我们定义一个字符串,一个数组,一个对象等等的时候,我们习惯用字面量来定义,例如: var s = &quo ...
- height:100% 布局
常常会碰到需要填满整个浏览器,并且自适应高度的需求.首先肯定会想到给容器设定height:100%,但是会没有效果.原因是body没有高度,所以百分比无法生效. 解决方案:给html,body,标签都 ...
- [DeviceOne开发]-手势动画示例分享
一.简介 这是iOS下的效果,android下完全一致.通过do_GestureView组件和do_Animation组件,deviceone能很容易实现复杂的跨平台纯原生动画效果,这个示例就是通过手 ...
- handlebars自定义helper的写法
handlebars相对来讲算一个轻量级.高性能的模板引擎,因其简单.直观.不污染HTML的特性,我个人特别喜欢.另一方面,handlebars作为一个logicless的模板,不支持特别复杂的表达式 ...
- 更有效率的使用Visual Studio(二)
没想到上一篇文章有这么多人喜欢,多谢大家支持.继续- 很多比较通用的快捷键的默认设置其实是有一些缩写在里面的,这个估计也是MS帮助我们记忆.比如说注释代码的快捷键是Ctrl + E + C,我们如果知 ...
- Java集合专题总结(1):HashMap 和 HashTable 源码学习和面试总结
2017年的秋招彻底结束了,感觉Java上面的最常见的集合相关的问题就是hash--系列和一些常用并发集合和队列,堆等结合算法一起考察,不完全统计,本人经历:先后百度.唯品会.58同城.新浪微博.趣分 ...
- 【QuickHit项目实例】
关于java面向对象QuickHit项目实例 Game类:用来得到随机出现的字符串(随机打印的字符串,然后玩家进行输入字符串) public class Game { private String s ...
- Linux系统修改PATH环境变量方法
在Linux安装一些软件通常要添加路径环境变量PATH.PATH环境变量通俗的讲就是把程序的路径"备案"到系统中,这样执行这些程序时就不需要输入完整路径,直接在bash输入程序名就 ...
- 分享:使用 TypeScript 编写的 JavaScript 游戏代码
<上篇博客>我写出了我一直期望的 JavaScript 大型程序的开发模式,以及 TS(TypeScript) 的一些优势.博客完成之后,我又花了一天时间试用 TS,用它来重构之前编写的一 ...
- 在数据库访问项目中使用微软企业库Enterprise Library,实现多种数据库的支持
在我们开发很多项目中,数据访问都是必不可少的,有的需要访问Oracle.SQLServer.Mysql这些常规的数据库,也有可能访问SQLite.Access,或者一些我们可能不常用的PostgreS ...