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(详细)的更多相关文章

  1. Ubuntu 16.04下配置 Nginx 与 Node.js 以及服务的部署

    第一步:安装nginx sudo apt-get update sudo apt-get install nginx 如果遇到依赖问题,尝试执行sudo apt-get -f install命令 第二 ...

  2. 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的一个分支首 ...

  3. Ubuntu 16.04安装QQ国际版图文详细教程

            因工作需要,我安装了Ubuntu 16.04,但是工作上的很多事情需要QQ联系,然而在Ubuntu上的WebQQ很是不好用,于是在网上搜索了好多个Linux版本的QQ,然而不是功能不全 ...

  4. 如何在Ubuntu 16.04上安装Nginx

    原文链接https://www.digitalocean.com/community/tutorials/how-to-install-nginx-on-ubuntu-16-04 介绍 Nginx是世 ...

  5. Ubuntu 16.04 上安装 CUDA 9.0 详细教程

    https://blog.csdn.net/QLULIBIN/article/details/78714596 前言: 本篇文章是基于安装CUDA 9.0的经验写,CUDA9.0目前支持Ubuntu1 ...

  6. Ubuntu-18.04.2系统 Nginx+uWSGI+Django 部署生产环境

    首先准备环境: 1.使用虚拟机 VMware Workstation Pro (也可以不用),安装Ubuntu-18.04.2系统 开始搭建环境 (因为ubuntu18.4.2集成了python3.6 ...

  7. Ubuntu 16.04 -- 同时配置Nginx(转发)和frp(内网映射)和HTTPS(ca加密) - 端口转发

    Ubuntu16.04下: sudo apt -get nginx 用这条命令安装完nginx之后, nginx在该目录下: 然后配置nginx: 如下: 红圈圈住的地方多写几个可以做负载均衡. 端口 ...

  8. Nginx+uwsgi+django+vue部署项目

    购买服务器 # 购买阿里云服务器 # 短期或是测试使用,创建 按量收费 服务器,可以随时删除,删除后不再计费,但要保证账户余额100元以上 连接服务器 1)账号 >: ssh root@39.9 ...

  9. [技术博客]ubuntu+nginx+uwsgi+Django+https的部署

    ubuntu+nginx+uwsgi+Django+https部署文档 配置机器介绍 操作系统:Ubuntu 18.04.2 LTS 64位 python版本:Python 3.6.7 Django版 ...

随机推荐

  1. stringObject.substring(start,stop)

    用于提取字符串中 介于两个指定下标之间的字符. start 必需.一个非负的整数 stop 可选.一个非负的整数

  2. 利用VS2015开发python版本的caffe应用

    打开VS2015,选择“新建项目”->“其它语言”->“python”,VS会提示你安装PTVS(Python Tools for Visual Studio)插件,安装完毕后即可开始py ...

  3. 利用workbench对linux/Ubuntu系统中的mysql数据库进行操作

    在上一篇文章中,我分享了在linux中如何安装mysql数据库,但是这只是安装了mysql的服务,并没有图形化管理界面,所以这样子操作起来并没有那么方便,那么现在我们就来实现如何利用在window中安 ...

  4. [Lua] try catch实现

    参考了https://blog.csdn.net/waruqi/article/details/53649634这里的代码,但实际使用时还有些问题,修改后在此记录一下. -- 异常捕获 functio ...

  5. 报错android.view.InflateException: Binary XML file line #11: Attempt to invoke virtual method 'boolean

    出现这种问题,打开Android monitor的调试信息发现是 android.view.InflateException: Binary XML file line #11: Attempt to ...

  6. 使用vbox构建局域网络

    update: 也可以启用DHCP自动分配IP地址.(看到过的某一篇博文写过要使用这个服务还得自己搭--就没有动手去实践一下直接手动分配了静态的IP.偶然尝试了一下发现动态IP分配和手动静态IP分配都 ...

  7. Python3入门机器学习 - k近邻算法

    邻近算法,或者说K最近邻(kNN,k-NearestNeighbor)分类算法是数据挖掘分类技术中最简单的方法之一.所谓K最近邻,就是k个最近的邻居的意思,说的是每个样本都可以用它最接近的k个邻居来代 ...

  8. Scrum Meeting 11 -2014.11.17

    今天和其他两个小组讨论了关于整合问题,在数据库连接等具体方面上还需要继续商讨. 我们小组内部讨论了,这周还是需要在处理整合的同时做项目整体的测试与改进的. Member Today’s task Ne ...

  9. 自学iOS-获取当前时间

    NSDate * senddate=[NSDate date]; NSDateFormatter *dateformatter=[[NSDateFormatter alloc] init]; [dat ...

  10. Task 6.2站立会议二

    今天,我们开始自己开始编译运行代码了,服务器端,聊天界面的相关代码经过测试.大家都把自己的实验过程公布了,大家的交流对实验的进度也起到了很大的作用.明天我们要继续修改实验中的错误,然后大家一起把实验基 ...