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. Java中调用存储过程

    dao层: import java.util.Map; public interface AppGthdDao { public String gthd(Map map); } mapper层 < ...

  2. Window安装AutoCAD

    1.运行crack文件夹下的“nlm11.14.1.3_ipv4_ipv6_win64.msi”,根据向导提示完成安装2.同样在“MAGNiTUDE”文件夹中找到“adesk.dat”文件,用记事本打 ...

  3. ZYNQ笔记(2):PS端——Hello World !

    PL端使用过后,来到了ZYNQ核心的部分:PS端,现在用Vivado软件对ZYNQ-7000开发板的PS端进行第一个程序设计:Hello World. 一.新建Vivado工程 1.打开Vivado, ...

  4. [跨域问题]ssm+vue前后台分离跨域问题解决方法

    跨域未解决时: Access to XMLHttpRequest at 'http://localhost:8080/vue/findall from origin 'http://localhost ...

  5. 安卓访问https错误,访问http可以,可能是nginx ssl证书配置有问题

    开发中遇到react-native生成的android访问UAT和开发环境的http api都可以,但是访问生产环境的https就报错,还有就是第三方webhook调用你https网站的api也可能会 ...

  6. Java自学-I/O Stream流

    Java的流 Stream 什么是流(Stream),流就是一系列的数据 步骤 1 : 什么是流 当不同的介质之间有数据交互的时候,JAVA就使用流来实现. 数据源可以是文件,还可以是数据库,网络甚至 ...

  7. MAC电脑卸载Jenkins

    终端输入下面命令 '/Library/Application Support/Jenkins/Uninstall.command' zudeMoPro:~ zhu$ '/Library/Applica ...

  8. ES6 入门系列 (三) 尾递归

    递归我们不陌生, 那什么是尾递归呢? 为什么要用尾递归呢? 尾递归怎么用呢? 带着这三个问题我们来了解它, 我们知道递归非常耗费内存,一不小心就会发生‘栈溢出’, 相信你一定遇到过这个错误: stac ...

  9. linux线程回收

    int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine) (void *), v ...

  10. Ionic run android失败解决方法。

    今天在node.js窗口执行命令行ionic run android时就是报Error executing "adb device":error错,一开始以为是SDK不全,后来以为 ...