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. 用欧拉计划学习Rust编程(第13~16题)

    最近想学习Libra数字货币的MOVE语言,发现它是用Rust编写的,所以先补一下Rust的基础知识.学习了一段时间,发现Rust的学习曲线非常陡峭,不过仍有快速入门的办法. 学习任何一项技能最怕没有 ...

  2. nginx 安装ab小工具方法

    nginx 安装ab小工具方法测试工具安装(以centos系统为例)yum -y install httpd-tools 然后测试下ab -V

  3. [数据分析]利用pandasticsearch批量读取ES

    1.git地址 https://github.com/onesuper/pandasticsearch 2.建立连接 from pandasticsearch import DataFrame use ...

  4. kafka压测

    原文并未提及kafka的版本 并且测试的消息大小都偏小  测试数据供参考 原文还测试了broker等    原文请移步文章末尾 4.1 producer测试 4.1.1 batch-size 测试结果 ...

  5. 【More Effective C++ 条款2】最好使用C++转型操作符

    C的转型方式存在以下两个缺点: 1)几乎允许你将任何类型转化为任何类型,不能精确的指明转型意图,这样很不安全 如将一个pointer-to-base-class-object转型为一个pointer- ...

  6. Intellij IDEA的安装教程

    一.下载安装 1.打开官网:http://www.jetbrains.com/idea/,点击页面中的“DOWNLOAD” 2.根据自己的需要选择下载的IntelliJ IDEA版本,此处我的电脑是W ...

  7. Sentry异常捕获平台

    本文包括Sentry平台的介绍,以及环境搭建两部分,更多细节请查阅官方文档. 简介 Sentry是一个实时事件的日志聚合平台.它专门监测错误并提取所有有用信息用于分析,不再麻烦地依赖用户反馈来定位问题 ...

  8. redux-thunk形式

    onClick(e) { e.preventDefault(); const { user, pass } = this.refs; this.props.dispatch(login(user.va ...

  9. c# 类实例序列化反序列化json文件 (原发布 csdn 2017-10-01 20:02:12)

    前言 前段时间使用了net.json保存对象数据.添加完成后,测试发现300多实例数据保存加载json文件,速度比原方式(BinaryFormatter)慢.但是功能加上后也懒再删掉代码了,索性就采用 ...

  10. mysql 实现row_number功能

    需求: 解答:由于mysql 中没有类似oracle中的 row_number功能,要实现row_number 可以使用如下功能: Select pkid,(@row_number:=@row_num ...