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 ...
随机推荐
- 记一次Redis被攻击的事件
最近几个月非常忙,所以很少有时间写博客,这几天终于闲了一些,于是就在整理平时的一些笔记.恰好这几天Redis服务器发生了问题,就记录一下. 我司有两款分别是2B和2C的App,类似于阿里旺旺的卖家版和 ...
- Nginx学习笔记(二) Nginx--connection&request
Nginx--connection&request 在Nginx中,主要包括了连接与处理两部分. connection 在src/core文件夹下包含有connection的源文件,Ngx_c ...
- TODO:一不顺眼就换字体Go之代码篇
TODO:一不顺眼就换字体Go之代码篇 image包实现了一个基本的2D图像库,该包中包含基本的接口叫做image,这个里面包含color,这个将在image/color中描述:新增字体font,进行 ...
- 对jquery操作复选框
摘要:jquery操作复选框.使用更简洁易懂,思路清晰,逻辑更明了,很实用 <!DOCTYPE html> <html> <head> <meta chars ...
- [转]VS2015中臃肿的ipch和sdf文件
使用VS2010建立C++解决方案时,会生成SolutionName.sdf和一个叫做ipch的文件夹,这两个文件再加上*.pch等文件使得工程变得非常的庞大, 一个简单的程序都会占用几十M的硬盘容量 ...
- iOS----应用的旋转---Orientations
此博文主要针对IOS应用, 是屏幕旋转相关问题的一个总结. 主要内容有: IOS5,6,7不同版的适配. 强制旋转和自动旋转. QQ : 1101819159 邮箱: GeekiVan@aliyun. ...
- JavaScript权威设计--JavaScript函数(简要学习笔记十一)
1.函数调用的四种方式 第三种:构造函数调用 如果构造函数调用在圆括号内包含一组实参列表,先计算这些实参表达式,然后传入函数内.这和函数调用和方法调用是一致的.但如果构造函数没有形参,JavaScri ...
- Linux平台 Oracle 11gR2 RAC安装Part2:GI安装
三.GI(Grid Infrastructure)安装 3.1 解压GI的安装包 3.2 安装配置Xmanager软件 3.3 共享存储LUN的赋权 3.4 使用Xmanager图形化界面安装GI 3 ...
- Android指纹识别深入浅出分析到实战(6.0以下系统适配方案)
指纹识别这个名词听起来并不陌生,但是实际开发过程中用得并不多.Google从Android6.0(api23)开始才提供标准指纹识别支持,并对外提供指纹识别相关的接口.本文除了能适配6.0及以上系统, ...
- JS瀑布流布局
好久没有更新博客喽,今天来说一个瀑布流布局. 瀑布流在很多网站已有很多,现在只说一下简单的实现原理吧, 1.计算一行可以排放几个元素 2.建立一个数组用于存放第一行的每个元素的高度. 3.得到数组中的 ...