Uwsgi:部署web应用程序

Nginx:反向代理,静态服务器

1.修改uwsgi配置文件》nginx反向代理[nginx接收请求-》传递-》[uwsgi] http=.. --》 socket=..

为了保证项目的访问安全,ip地址变为本机地址

在manage.py同目录下新建uwsgi.ini文件并配置

[uwsgi]

Socket=127.0.0.1:8000

Chdir=..

Wsgi-file=..

Master=..

Process=..

#static-map=..注释掉,静态文件有nginx代理

uwsgi.ini

[uwsgi]
#http=192.168.132.128:8000
socket=127.0.0.1:8000
chmod-socket=666
chdir=/home/op/桌面/django-pfeiliu/pfeiliu
wsgi-file=pfeiliu/wsgi.py
processes=4
threads=2
master=true
pidfile=uwsgi.pid
daemonize=uwsgi.log
#static-map=/static=static-file

2.确认是否安装nginx

命令行安装:apt-get install nginx

源代码安装:wget http://nginx.org/download/nginx-1.6.2.tar.gz

-》解压 tar xzvf ...tar.gz

-》make & make install

修改nginx配置文件vim  /etc/nginx/nginx.conf

添加虚拟服务器配置[server]

添加反向代理路由配置[location - uwsgi_pass]

添加静态文件服务器路由配置[location - alias]

重启nginx

nginx对静态文件的处理优于uwsgi

Uwsgi对动态文件的处理优于nginx

在http中添加server

server {

listen 80;

server_name 192.168.37.128;

location / {

include uwsgi_params;

Uwsgi_pass 127.0.0.1:8000;

}

location /static {

alias 静态文件地址;

}

}

/etc/nginx/nginx.conf

静态文件收集请参考方式1  https://www.cnblogs.com/pfeiliu/p/11922843.html

............................................
server {
listen ;
server_name 192.168.132.128; #charset koi8-r; #access_log logs/host.access.log main; location / {
include /usr/local/nginx/conf/uwsgi_params;
uwsgi_pass 127.0.0.1:;
} location /static {
alias /home/tarena/桌面/django-pfeiliu/pfeiliu/static-file;
}
}
............................................
 

nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)

解决方法:sudo killall -9 nginx

开启nginx:server nginx start

重启nginx:server nginx restart

关闭nginx:server nginx stop

测试nginx:nginx -t   # 如果是nginx的问题,可以通过测试发现原因。

启动项目:

启动nginx:/usr/local/webserver/nginx/sbin/nginx

启动uwsgi:uwsgi --ini uwsgi.ini

浏览器输入ip,即可访问

关闭项目:

杀死nginx进程:sudo killall -9 nginx

杀死nginx进程:sudo killall -9 uwsgi

代码布局如下:

使用uwsgi+nginx部署项目的更多相关文章

  1. vue+uwsgi+nginx部署项目

    首先先下载好前后端项目 先从前端vue搞起 要在服务器上,编译打包vue项目,必须得有node环境 下载node二进制包,此包已经包含node,不需要再编译 wget https://nodejs.o ...

  2. Linux 集群概念 , wsgi , Nginx负载均衡实验 , 部署CRM(Django+uwsgi+nginx), 部署学城项目(vue+uwsgi+nginx)

    Linux 集群概念 , wsgi , Nginx负载均衡实验 , 部署CRM(Django+uwsgi+nginx), 部署学城项目(vue+uwsgi+nginx) 一丶集群和Nginx反向代理 ...

  3. 使用uWSGI+nginx部署Django项目

    最近使用django写了一些项目,不过部署到服务器上碰到一些问题,还有静态文件什么的一堆问题,这里总结一下碰到的问题和解决方案,总体思路是按照官方文档走的. 原文地址:http://uwsgi-doc ...

  4. vue+uwsgi+nginx部署路飞学城

    vue+uwsgi+nginx部署路飞学城   有一天,老男孩的苑日天给我发来了两个神秘代码,听说是和mjj的结晶 超哥将这两个代码,放到了一个网站上,大家可以自行下载 路飞学城django代码 ht ...

  5. linux vue uwsgi nginx 部署路飞学城 安装 vue

    vue+uwsgi+nginx部署路飞学城 有一天,老男孩的苑日天给我发来了两个神秘代码,听说是和mjj的结晶 超哥将这两个代码,放到了一个网站上,大家可以自行下载 路飞学城django代码#这个代码 ...

  6. virtualvenv+django+uWSGI+nginx 部署

    原创博文 转载请注明出处! 1. virtualvenv 2. django 3. uWSGI 4. nginx 5. 踩坑记录 1. virtualvenv virtualvenv install ...

  7. django+uwsgi+nginx部署(非常详细)

    django+uwsgi+nginx部署 1.介绍: 在网上看了很多教程,但自己部署了很久都没有成功,这篇博文记录自己所踩过得坑. 2.环境: Ubuntu 16.04.1 LTS (GNU/Linu ...

  8. centosflask+uWSGI+nginx部署

    centosflask+uWSGI+nginx部署 1.      概念 Flask自带webserver--Werkzeug,可以搭建服务,运行网站.但在开发时,一般会用专业的--uWSGI. 另外 ...

  9. Django+uWSGI+Nginx 部署网站

    Django 1.11设置 保证Django在本地调试没有问题: 当然这是前提^_^ 收集静态文件至指定文件夹 Django静态文件设置具体参考:https://docs.djangoproject. ...

随机推荐

  1. 【08月07日】A股滚动市盈率PE最低排名

    ​仅根据最新的市盈率计算公式进行排名,无法对未来的业绩做出预测. 方大集团(SZ000055) - 滚动市盈率PE:2.32 - 滚动市净率PB:1.04 - 滚动年化股息收益率:4.37% - 建筑 ...

  2. mac下mysql安装、卸载、基本操作

    2018-06-08 10:57:26 张广森 阅读数 6584更多 分类专栏: mac mysql   版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本 ...

  3. ping不通服务器的解决方法

    参考腾讯云的解决办法: https://cloud.tencent.com/document/product/213/14639#CheckOSSetting 我的服务器是aws的, 解决方法大同小异 ...

  4. Postman界面了解

    Postman界面了解 2019年3月21日去面试了一家软件测试,本以为自己对简历上写的技能都熟悉,跳个槽,涨点工资,想象很美好,现实太残忍.当问到做接口测试postman和swagger工具的时候, ...

  5. luogu P1533 可怜的狗狗 |莫队+二分

    题目背景 小卡由于公务需要出差,将新家中的狗狗们托付给朋友嘉嘉,但是嘉嘉是一个很懒的人,他才没那么多时间帮小卡喂狗狗. 题目描述 小卡家有N只狗,由于品种.年龄不同,每一只狗都有一个不同的漂亮值.漂亮 ...

  6. 【学习笔记】字符串—马拉车(Manacher)

    [学习笔记]字符串-马拉车(Manacher) 一:[前言] 马拉车用于求解连续回文子串问题,效率极高. 其核心思想与 \(kmp\) 类似:继承. --引自 \(yyx\) 学姐 二:[算法原理] ...

  7. golang --学习笔记 运行时间计算

    package main import ( "fmt" "time" ) func main() { start := time.Now() //do some ...

  8. redis持久化rdb和aof之间的优势劣势

    1.RDB(Redis Database) a.基本概念 概念: 在指定的时间间隔内将内存中的数据集快照写入磁盘, 也就是行话讲的Snapshot快照,它恢复时是将快照文件直接读到内存里. Redis ...

  9. Spring Boot 使用 JWT 进行身份和权限验证

    上周写了一个 适合初学者入门 Spring Security With JWT 的 Demo,这篇文章主要是对代码中涉及到的比较重要的知识点的说明. 适合初学者入门 Spring Security W ...

  10. 开发技术--Numpy模块

    开发|Numpy模块 Numpy模块是数据分析基础包,所以还是很重要的,耐心去体会Numpy这个工具可以做什么,我将从源码与 地产呢个实现方式说起,祝大家阅读愉快! Numpy模块提供了两个重要对象: ...