使用uwsgi+nginx部署项目
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部署项目的更多相关文章
- vue+uwsgi+nginx部署项目
首先先下载好前后端项目 先从前端vue搞起 要在服务器上,编译打包vue项目,必须得有node环境 下载node二进制包,此包已经包含node,不需要再编译 wget https://nodejs.o ...
- Linux 集群概念 , wsgi , Nginx负载均衡实验 , 部署CRM(Django+uwsgi+nginx), 部署学城项目(vue+uwsgi+nginx)
Linux 集群概念 , wsgi , Nginx负载均衡实验 , 部署CRM(Django+uwsgi+nginx), 部署学城项目(vue+uwsgi+nginx) 一丶集群和Nginx反向代理 ...
- 使用uWSGI+nginx部署Django项目
最近使用django写了一些项目,不过部署到服务器上碰到一些问题,还有静态文件什么的一堆问题,这里总结一下碰到的问题和解决方案,总体思路是按照官方文档走的. 原文地址:http://uwsgi-doc ...
- vue+uwsgi+nginx部署路飞学城
vue+uwsgi+nginx部署路飞学城 有一天,老男孩的苑日天给我发来了两个神秘代码,听说是和mjj的结晶 超哥将这两个代码,放到了一个网站上,大家可以自行下载 路飞学城django代码 ht ...
- linux vue uwsgi nginx 部署路飞学城 安装 vue
vue+uwsgi+nginx部署路飞学城 有一天,老男孩的苑日天给我发来了两个神秘代码,听说是和mjj的结晶 超哥将这两个代码,放到了一个网站上,大家可以自行下载 路飞学城django代码#这个代码 ...
- virtualvenv+django+uWSGI+nginx 部署
原创博文 转载请注明出处! 1. virtualvenv 2. django 3. uWSGI 4. nginx 5. 踩坑记录 1. virtualvenv virtualvenv install ...
- django+uwsgi+nginx部署(非常详细)
django+uwsgi+nginx部署 1.介绍: 在网上看了很多教程,但自己部署了很久都没有成功,这篇博文记录自己所踩过得坑. 2.环境: Ubuntu 16.04.1 LTS (GNU/Linu ...
- centosflask+uWSGI+nginx部署
centosflask+uWSGI+nginx部署 1. 概念 Flask自带webserver--Werkzeug,可以搭建服务,运行网站.但在开发时,一般会用专业的--uWSGI. 另外 ...
- Django+uWSGI+Nginx 部署网站
Django 1.11设置 保证Django在本地调试没有问题: 当然这是前提^_^ 收集静态文件至指定文件夹 Django静态文件设置具体参考:https://docs.djangoproject. ...
随机推荐
- MYSQL插入千万数据的工具类
建表语句 CREATE TABLE `test_id` ( `id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键自增非空', `name` varchar( ...
- Java连载15-boolean类型&类型转换&++运算符
一.boolean类型 1.说明: (1)在java语言中,boolean类型只有两个值:true.false,没有其他的值.在C语言中,是有0代表false和1代表true的 (2)在底层存储的时候 ...
- 召唤神龙Ladon强化Cobalt Strike
Ladon5.5 20191109 wiki update 20191114 前言 Ladon 5.5支持Cobalt Strike,内置39个功能模块 加载脚本K8Ladon.cna,通过Ladon ...
- scala基础题--函数可以没有返回值案例,编写一个函数,从终端输入一个整数,打印出对应的金字塔
函数可以没有返回值案例,编写一个函数,从终端输入一个整数,打印出对应的金字塔 import scala.io.StdIn object work02 { def main(args: Array[St ...
- spring 核心容器
核心容器包括了:Beans.Core.Context.SpEL 1. core和beans模块提供了整个框架最基础的部分,包括了IoC(控制反转)和Dependency Injection(依赖注入) ...
- [转] js网络请求跨域问题汇总(携带cookie)
前端程序使用extjs写,在本地测试,发送请求到服务器时,发现存在跨域的问题,cookie也没有set成功,于是乎在这里整理一下解决过程 由于篇幅较长,不想看解决过程的可以翻到最后看总结1.跨域允许2 ...
- 9、VUE过渡和动画
1.过渡效果 Vue提供了transition的封装组件,在下列情形中,可以给任何元素和组件添加entering/leaving过渡. 我们注意到,<transition>标签的标记是 n ...
- juc包下四大并发工具
juc.CountDownLatch 闭锁 一个线程在等待一组线程后再恢复执行 await()等待其他线程执行完毕 被等待线程执行完毕后计数器-1 如何知道其他线程执行完了? 计数器,若一组线程为,C ...
- Android 常用炫酷控件(开源项目)git地址汇总
第一部分 个性化控件(View) 主要介绍那些不错个性化的 View,包括 ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView.P ...
- 2019 苏州朗动java面试笔试题 (含面试题解析)
本人5年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.苏州朗动等公司offer,岗位是Java后端开发,因为发展原因最终选择去了苏州朗动,入职一年时间了,也成为了面 ...