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. keras 修仙笔记二(ResNet算法例子)

    对于牛逼的程序员,人家都喜欢叫他大神:因为大神很牛逼,人家需要一个小时完成的技术问题,他就20分钟就搞定.Keras框架是一个高度集成的框架,学好它,就犹如掌握一个法宝,可以呼风唤雨.所以学keras ...

  2. lastIndexOf()

    方法可返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索.

  3. kali 2018.1安装教程

    00x01 摘要 Kali-linux系统,渗透测试人员的利器,其官网自称 OurMost Advanced Penetration Testing Distribution, Ever.  永远是最 ...

  4. stl源码分析之hash table

    本文主要分析g++ stl中哈希表的实现方法.stl中,除了以红黑树为底层存储结构的map和set,还有用哈希表实现的hash_map和hash_set.map和set的查询时间是对数级的,而hash ...

  5. 查找linux镜像源中的软件版本并进行安装

    输入以下代码进行软件查找 sudo apt-cache search YourSoftwareName 根据所得到的结果进行安装 sudo apt-get install YourSoftwareNa ...

  6. [PLC]ST语言五:STL/RET/CMP/ZCP

    一:STL/RET/CMP/ZCP 说明:简单的顺控指令不做其他说明. 控制要求:无 编程梯形图: 结构化编程ST语言: (*步进指令STL(EN,s);*) SET(M8002,S3); STL(T ...

  7. centos7 上安装mysql5.7后登录报错ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: Yes 或者No)

    原文转载自以下链接:https://blog.csdn.net/keepd/article/details/77151006 安装完mysql后会有个临时密码去日志查看,但是查看登录修改密后还是不行 ...

  8. 论文笔记:分形网络(FractalNet: Ultra-Deep Neural Networks without Residuals)

    FractalNet: Ultra-Deep Neural Networks without Residuals ICLR 2017 Gustav Larsson, Michael Maire, Gr ...

  9. 微信JS-SDK实现上传图片功能

    最近在项目开发中,有一个在微信WEB项目中上传图片的需求,一开始使用了传统的<input type="file">的方式去实现,但是后面发现在使用这种传统模式时会由于手 ...

  10. Scrum立会报告+燃尽图(Final阶段第三次)

    此作业要求参见:https://edu.cnblogs.com/campus/nenu/2018fall/homework/2481 项目地址:https://coding.net/u/wuyy694 ...