ubuntu 16.04 部署 pypy+nginx+uwsgi+django(详细)
1、nginx
安装nginx之前先安装python的pip,千万不能用pypy的pip,会容易破坏依赖关系,很难修复,
sudo apt-get install nginx
因为,是自动安装,所以nginx的配置文件在/etc/nginx/sites-enabled/文件目录下的default。直接通过命令vi打开,a,进入插入模式,进行编辑。因为ubuntu是没有vim的,所以上下左右方向键其实显示的是字母,H、j、k、l,才是上下左右,所以先下载vim,在进行编辑。
sudo apt-get install vim
--下载vim
vi /etc/nginx/sites-enabled/default --打开配置文件
对配置文件进行的更改
# the upstream component nginx needs to connect to
//关于djjango的配置
upstream django {
server unix:///tmp/webvision.sock; # for a file socket
#server 127.0.0.1:8001; # for a web port socket (we'll use this first)
} server {
//链接到index首页
listen 80 default_server;
index index.html index.htm index.php default.html default.htm default.php;
# the domain name it will serve for server_name .shitac.net default 192.168.21.31; # substitute your machine's IP address or FQDN
charset utf-8;
root /var/www/html;
# max upload size
client_max_body_size 75M; # adjust to taste
//通用配置
//直接匹配网站根,通过域名访问网站首页比较频繁,使用这个会加速处理
location / {
uwsgi_pass django;
include /etc/nginx/uwsgi_params;
} location /media/ {
alias /var/www/webvision2/media/;
} location /static/ {
alias /var/www/webvision2/static/;
}
location = /crossdomain.xml {
root /var/www/html;
}
location /live {
root /var/www/html;
expires -1;
}
location /pic {
root /var/www/html;
expires 30d;
}
}
2、pypy
注意:官方源的运行uwsgi会出现错误,google是说官方源的是static的 libpypy-c.so: cannot open shared object file
所以我选择安装ppa的pypy
安装命令
sudo add-apt-repository ppa:pypy/ppa
sudo apt update
sudo apt install pypy
您可能需要一个pip的国内源,以增加pip操作的速度,可以百度找有很多,我用的是豆瓣
vim ~/.pip/pip.conf
// 將下列复制在pip.conf中
[global]
index-url = http://pypi.douban.com/simple
[install]
trusted-host=pypi.douban.com
3、uwsgi
我们先进入pypy环境,在pypy环境下安装uwsgi
安装uwsgi
virtualenv -p /usr/bin/pypy pypy --建立pypy的虚拟环境
source ~/pypy/bin/activate -- 进入环境
pip install uwsgi --安装
等到下载完以后就可以更改uwsgi的配置文件了,
[uwsgi]
socket = /tmp/webvision.sock --指定socket #这是实现应用nginx与uwsgi之间的通信(很复杂的东西)
master = true -- 主进程启动true
processes = 4 -- 启动四个进程工作
enable-threads = true --允许用内嵌的语言启动线程。
pidfile = /tmp/webvision2_uwsgi.pid --指定pid进程文件
daemonize = /var/log/webvision2/uwsgi.log --uwsgi.log肯定是日志咯
chdir = /var/www/webvision2 --项目目录,如果站点多推荐flase
pythonpath = /var/www/webvision2 --指明当前应用程序的项目路径
virtualenv = /home/kanbig/pypy
pypy-home = /home/kanbig/pypy
pypy-wsgi-file = /var/www/webvision2/lteadmin/wsgi.py --wsgi是uwsgi与djiango之间的通信,这是绝对路径
4、djiango
安装djiaogo需要进入djiango的目录,已经在webvision2中配置了wsgi.py,所以cd进去
先安装requirememts依赖库
pip install -r requirements.txt
这最后一步问题多多,pyflake8可能需要降档,系统提示pyflake8》=1.6等等有许多问题,按着报错提示一个个安装下载就行,这里我只提供一个降档步骤
pip uninstall pyflakes
pip install pyflakes==1.6
最后启动命令
uwsgi --ini uwsgi.ini
ps -elf|grep uwsgi --如果有四个进程启动就对啦
sudo service nginx restart
ps -elf|grep nginx -- nginx打开输入localhost不报错就行
ubuntu 16.04 部署 pypy+nginx+uwsgi+django(详细)的更多相关文章
- Ubuntu 16.04下配置 Nginx 与 Node.js 以及服务的部署
第一步:安装nginx sudo apt-get update sudo apt-get install nginx 如果遇到依赖问题,尝试执行sudo apt-get -f install命令 第二 ...
- Ubuntu 16.04 LTS 安装 Nginx/PHP 5.6/MySQL 5.7 (LNMP) 与Laravel
Ubuntu 16.04 LTS 安装 Nginx/PHP 5.6/MySQL 5.7 (LNMP) 与Laravel 1.MySQL安装[安装 MariaDB]MariaDB是MySQL的一个分支首 ...
- Ubuntu 16.04安装QQ国际版图文详细教程
因工作需要,我安装了Ubuntu 16.04,但是工作上的很多事情需要QQ联系,然而在Ubuntu上的WebQQ很是不好用,于是在网上搜索了好多个Linux版本的QQ,然而不是功能不全 ...
- 如何在Ubuntu 16.04上安装Nginx
原文链接https://www.digitalocean.com/community/tutorials/how-to-install-nginx-on-ubuntu-16-04 介绍 Nginx是世 ...
- Ubuntu 16.04 上安装 CUDA 9.0 详细教程
https://blog.csdn.net/QLULIBIN/article/details/78714596 前言: 本篇文章是基于安装CUDA 9.0的经验写,CUDA9.0目前支持Ubuntu1 ...
- Ubuntu-18.04.2系统 Nginx+uWSGI+Django 部署生产环境
首先准备环境: 1.使用虚拟机 VMware Workstation Pro (也可以不用),安装Ubuntu-18.04.2系统 开始搭建环境 (因为ubuntu18.4.2集成了python3.6 ...
- Ubuntu 16.04 -- 同时配置Nginx(转发)和frp(内网映射)和HTTPS(ca加密) - 端口转发
Ubuntu16.04下: sudo apt -get nginx 用这条命令安装完nginx之后, nginx在该目录下: 然后配置nginx: 如下: 红圈圈住的地方多写几个可以做负载均衡. 端口 ...
- Nginx+uwsgi+django+vue部署项目
购买服务器 # 购买阿里云服务器 # 短期或是测试使用,创建 按量收费 服务器,可以随时删除,删除后不再计费,但要保证账户余额100元以上 连接服务器 1)账号 >: ssh root@39.9 ...
- [技术博客]ubuntu+nginx+uwsgi+Django+https的部署
ubuntu+nginx+uwsgi+Django+https部署文档 配置机器介绍 操作系统:Ubuntu 18.04.2 LTS 64位 python版本:Python 3.6.7 Django版 ...
随机推荐
- 初学者下载使用Python遇到的问题看它就行了
首先在python管网(www.python.org)中找到对应的版本与系统,以(window7系统64位python3.7.3为例) 打开电脑--打开浏览器--输入www.python.org--d ...
- Java编辑PPT的折线图,与内嵌Excel联动
/** * 折线图的数据写入方法 * @param slide ppt图表 * @param index 折线图的下标 * @param data 需要填充的数据 * @param titles 内嵌 ...
- Cocos2d-x Lua 学习
mian.lua 文件是程序的入口.加载GameScene场景,调用场景方法. GameScene.lua 文件负责创建游戏主场景,主要写场景方法,由主函数调用.
- Java子类初始化调用父类无参构造
实在是服了自己,子类初始化调用父类无参构造这种初学者都应该知道的事,我给忘了. 记得当初看书的时候各种概念抄在笔记本上,再上机实践,以为一辈子都不会忘,还是给忘了. 这件事说明了两个问题: 1.我没有 ...
- arp与rarp
- GearCase UI v0.2 版本
12 月闲暇的时间一直在更新 GearCase.通过不懈的努力,GearCase 今天迎来了一次中间版本的更新,这次的更新主要加入了 Springs 动画组件,部分组件也添加了此组件的动画效果. &g ...
- Netty源码分析第4章(pipeline)---->第4节: 传播inbound事件
Netty源码分析第四章: pipeline 第四节: 传播inbound事件 有关于inbound事件, 在概述中做过简单的介绍, 就是以自己为基准, 流向自己的事件, 比如最常见的channelR ...
- Firefox浏览器【书签工具栏】里的网址链接无法删除的解决办法
今天使用Firefox浏览器,发现有一些我从来都没有访问的网站出现在[书签工具栏], 也不知道是什么原因被添加进来的(可能是安装某个插件被插的),于是点删除,发现还删除不了,很是老火,研究了一番,把删 ...
- PHP正则表达式匹配俄文字符
之前弄过匹配中文的 见 http://www.cnblogs.com/toumingbai/p/4688433.html preg_match_all("/([\x{0400}-\x{04F ...
- Kubernetes探索学习005--Kubernetes的Controller模型和ReplicaSet伸缩
1.Kubernetes的controller pattern 需要认识到Kubernetes操作Pod的逻辑,都是由控制器来完成的. 查看之前写过的nginx-deployment的YAML文件 [ ...