django,uwsgi, nginx部署项目
在liunx中环境中
对于nginx来说:
1.先安装nginx
sudo apt-get install nginx
2.启动nginx服务
sudo /etc/init.d/nginx restart
3.启动成功之后,可以打开浏览器进行验证,访问地址:127.0.0.1:80
4.对于nginx来说,存储html路径为:/var/www/html/
对于uwsgi来说:
1.进行安装:
sudo pip3 install uwsgi
2.验证
uwsgi --http :9998 --chdir /home/zengsf/project/movie/ --module movie.wsgi
配置文件
配置uwsgi文件
1.随便创建一个文件夹
mkdir uwsgi
2.切换到里面去
cd uwsgi
3.创建一个ini文件
vim movie_uwsgi.ini
4.下面是ini里面的配置信息
[uwsgi]
# 和nginx通信的端口
socket=127.0.0.1:8001
# 项目路径
chdir=/home/zengsf/project/movie
# wsgi.py路径
wsgi-file=movie/wsgi.py
# 进程数
processes=4
# 线程数
thread=2
# 本项目占用uwsgi端口
stats=127.0.0.1:8081
配置nginx文件
1.切换到相对应的路径中,并且创建.conf文件
# 进入超级模式下
sudo i
# 到相对应得文件路径下
cd /etc/nginx/sites-enabled
# 创建一个.cnf的配置文件
vim project_nginx.conf
2.在配置文件中的配置信息
server{
# 监听本项目端口,浏览器输入的端口
listen 8201;
# 域名
server_name movie.com;
charset utf-8;
client_max_body_size 75M;
# 收集项目静态文件路径
location /static{
alias /home/zengsf/project/movie/static;
}
# 和uwsgi通信端口和项目通信文件uwsgi_params
location /{
include uwsgi_params;
uwsgi_pass 127.0.0.1:8001;
}
}
3.配置好了之后都要重启一下nginx服务
sudo /etc/init.d/nginx restart
4.将uwsgi_params文件拷贝到Django项目目录中
cp /etc/nginx/uwsgi_params /home/zengsf/project/movie/
5.往uwsgi_params中收集静态文件
1.在settings.py文件中添加(STATIC_ROOT)
STATIC_ROOT = '/home/zengsf/project/movie/static/'
# 注意的是,写了这个就不能写STATIC_DIR
2.收集静态文件
./manage.py collectstatic
6.利用uwsgi启动项目
uwsgi --ini movie_uwsgi.ini
部署多个项目
其实跟部署一个项目一样,只不过就是端口不能重复。
django,uwsgi, nginx部署项目的更多相关文章
- Linux 集群概念 , wsgi , Nginx负载均衡实验 , 部署CRM(Django+uwsgi+nginx), 部署学城项目(vue+uwsgi+nginx)
Linux 集群概念 , wsgi , Nginx负载均衡实验 , 部署CRM(Django+uwsgi+nginx), 部署学城项目(vue+uwsgi+nginx) 一丶集群和Nginx反向代理 ...
- 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 ...
- Django+uWSGI+Nginx 部署网站
Django 1.11设置 保证Django在本地调试没有问题: 当然这是前提^_^ 收集静态文件至指定文件夹 Django静态文件设置具体参考:https://docs.djangoproject. ...
- Ubuntu+Django+uWSGI+Nginx部署Django项目
安装uWSGI,pip依据自己要使用的python版本自行选择,python2.x版本使用pip进行安装,python3.x版本使用pip3进行安装 pip install uwsgi 配置uWSGI ...
- Ubuntu下Django+uWSGI+nginx部署
本文采用uwsgi+nginx来部署django 这种方式是将nginx作为服务端前端,将接受web所有的请求,统一管理,Nginx把所有的静态请求自己处理,然后把所有非静态请求通过uwsgi传递给D ...
- Django+Uwsgi+Nginx部署
一 uwsgi介绍 uWSGI是一个Web服务器,它实现了WSGI协议,uwsgi, http等协议. Nginx中HttpUwsgiMoule的作用是与uWSGI服务器进行交换 1 WSGI是一种W ...
- vue+uwsgi+nginx部署项目
首先先下载好前后端项目 先从前端vue搞起 要在服务器上,编译打包vue项目,必须得有node环境 下载node二进制包,此包已经包含node,不需要再编译 wget https://nodejs.o ...
- 使用uwsgi+nginx部署项目
Uwsgi:部署web应用程序 Nginx:反向代理,静态服务器 1.修改uwsgi配置文件>nginx反向代理[nginx接收请求->传递->[uwsgi] http=.. --& ...
- virtualvenv+django+uWSGI+nginx 部署 踩坑记录
原创博文 转载请注明出处! uwsgi: unrecognized option '--http:8089' uwsgi: unrecognized option '--http' uwsgi trk ...
随机推荐
- Django之WSGI 和MVC/MTV
一.什么是WSGI? WEB框架的本质是一个socket服务端接收用户请求,加工数据返回给客户端(Django),但是Django没有自带socket需要使用 别人的 socket配合Django才能 ...
- java关键字总结
static: 用来修饰成员变量和成员方法,也可以形成静态static代码块,可以形成静态内部类,也可以用于静态导包. 1.静态方法中不能用this和super关键字,不能直接访问所属类的实例变量和实 ...
- java继承,final,super,Object类,toString,equals,
Java中的内部类:成员内部类静态内部类方法内部类匿名内部类 内部类的主要作用如下: 1. 内部类提供了更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中的其他类访问该类 2. 内部类的方法可 ...
- 使用Redis数据库(1)(三十三)
Spring Boot中除了对常用的关系型数据库提供了优秀的自动化支持之外,对于很多NoSQL数据库一样提供了自动化配置的支持,包括:Redis, MongoDB, Elasticsearch, So ...
- 小程序WXSS布局
1. 尽量采用flex 布局,指定flex-direction是row( 从左到右)还是column (从上到下) 特别要记得写 flex-wrap: wrap; 不然超出屏幕部分不会换行 displ ...
- composer install Your requirements could not be resolved to an installable set of packages
composer install --ignore-platform-reqs 或者 composer update --ignore-platform-reqs
- 使用DDMS查看设备内的文件系统
system文件系统存储了一些系统相关的文件 system/app里面是系统自带的应用程序 system/fonts里面存放的是系统自带的字体 system/frameworks里面存放的是系统的一些 ...
- 《Python》re模块补充、异常处理
一.re模块 1.match方法 import re # match 验证用户输入的内容 ret = re.match('\d+', 'hhoi2342ho12ioh11') print(ret) # ...
- uitableView group模式下的间距问题
我么在使用group模式定义tableview的时候,系统默认是会有head和foot的间距的,来区分我们不同的group:在具体使用的时候又时候我们不需要这个间距.我们可以重新赋值这些间距来达到我们 ...
- python 定义class时的内置方法
__contains__():对类实例使用in ,not in操作时调用 class A(object): def __init__(self,num): self.num=num def __con ...