django+nginx+uwsgi_cent0s7.4 部署

几条命令

# 查看是否有 uwsgi 相关的进程
ps -aux|grep "uwsgi" # 杀死有关 uwsgi 相关的进程
pkill -9 uwsgi # 使用yum install nginx 安装nginx的安装目录
/etc/nginx/

 

 

安装环境

# 安装 gcc 环境
yum install -y gcc # 为python安装pip -- 这里的路径在执行的时候,估计会有问题,涉及相对路径和绝对路径
wget https://pypi.python.org/packages/11/b6/abcb525026a4be042b486df43905d6893fb04f05aac21c32c638e939e447/pip-9.0.1.tar.gz#md5=35f01da33009719497f01a4ba69d63c9
tar -xf pip-9.0.1.tar.gz
cd pip-9.0.1
sudo python setup.py install
cd ..
rm -rf * # 安装 Django
pip install django==1.8 # 解决uwsgi安装报错问题
yum install -y python-devel.x86_64 # 安装uwsgi
pip install uwsgi # 安装 nginx
yum install -y nginx

修改django配置

# 将debug模式改成False
DEBUG = False # 允许访问的 host, 可以写成单独的 host, 也可以直接写 "*",代表全部
ALLOWED_HOSTS = ['*', ] STATIC_URL = '/static/' # 修改 静态文件的位置
if DEBUG:
STATICFILES_DIRS = (
os.path.join(BASE_DIR, "static"),
)
else:
STATIC_ROOT = os.path.join(BASE_DIR, 'static')

 

 

收集静态文件

python manage.py collectstatic

这条命令会将所有 Django 项目的静态文件搜集到上面配置中的,静态文件的位置

修改uwsgi以及nginx配置

  • uwsgi配置

[uwsgi]
# 使用socket协议,直接绑定 127.0.0.1:8888,和下面http任意存在一个就可以了
# 这里的1207.0.01:8888 在nginx中也有用到
socket=127.0.0.1:8888
# 使用http协议,监听端口,可以是 0.0.0.0:8888(比socket多了一层封装)
# http = :8888
# 本地项目目录
chdir = /home/dja/cost_total/
# 项目 wsgi.py 文件目录
wsgi-file = /home/dja/cost_total/cost_total/wsgi.py
# 该项目使用的进程数,一般使用电脑的 核数
processes = 1
# 开启的线程数
threads = 1
# 指定静态文件路径
static-map=/static=/home/dja/cost_total/static # pidfile = /opt/classiclaw/nginx/logs/uwsgi.pid
# 日志文件的位置
daemonize = /var/log/nginx/uwsgi.log

  

  • nginx配置

# For more information on configuration, see:
# * Official English Documentation: http://nginx.org/en/docs/
# * Official Russian Documentation: http://nginx.org/ru/docs/ user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid; # Load dynamic modules. See /usr/share/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf; events {
worker_connections 1024;
} http {
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048; include /etc/nginx/mime.types;
default_type application/octet-stream; # Load modular configuration files from the /etc/nginx/conf.d directory.
# See http://nginx.org/en/docs/ngx_core_module.html#include
# for more information.
include /etc/nginx/conf.d/*.conf; # 修改的配置内容 -->开始
upstream django { # 设置别名,如将 127.0.0.1:8888 设置一个别名,叫 django,下面可以直接使用这个别名
# server unix:///path/to/your/mysite/mysite.sock; # for a file socket
server 127.0.0.1:8888; # for a web port socket (we'll use this first)
} server { # 这个server标识我要配置了
listen 80; # 80 是http默认的端口, 443 是https默认的端口(网页一般使用这两个端口)
server_name _; # 你访问的路径前面的url名称,后面可以写一条短横杠(我没写,报错了)
charset utf-8; # Nginx编码 # 指定静态文件路径,含义为,如果访问的是 /static 开头的,走下面的位置获取内容
# 之前我写 /static/ 没有效果,后来修改为 /static
location /static { # 如果是 /static 开头的,那么直接走这里,就是 静态文件存放的位置
alias /home/dja/cost_total/static;
} # 指定项目路径uwsgi
# 如果是 其它开头的,那么直接走这里,就是 我们django项目中,uwsgi起的服务
location / { # 这个location就和咱们Django的url(r'^admin/', admin.site.urls),
include uwsgi_params; # 导入一个Nginx模块他是用来和uWSGI进行通讯的
uwsgi_connect_timeout 30; # 设置连接uWSGI超时时间
# 指定uwsgi的sock文件所有动态请求就会直接丢给它
uwsgi_pass django; # 如果上面写别名了,那么,这里还可以直接使用别名
# uwsgi_pass 127.0.0.1:8888; # 如果上面没有写别名,那么这里可以直接写 url
# 这个配置和uwsgi中绑定的一致,这里直接写127,这样可以之通过127,也就是这个代理进行访问
}
}
# 修改的配置内容 -->结束

 

 

启动服务

  • 启动 uwsgi

# 直接uwsgi 后面跟 uwsgi 文件的路径
uwsgi uwsgi.ini

  

  • 启动 nginx

# 我使用的系统是 CentOs7.4,所以使用了 systemctl 命令启动
systemctl start nginx

  

django+nginx+uwsgi_cent0s7.4 部署的更多相关文章

  1. django+nginx+uwsgi 项目部署

    Django虽然自带一个Server,但只能作为开发时测试使用,我们需要一个可以稳定而持续的服务器对网站进行部署,比如Apache, Nginx, lighttpd等,本篇将利用nginx和uWSGI ...

  2. Django + nginx + uswgi 的部署总结

    一.引言 自己小组内写了一个网站,需要部署到远程服务器,搜索了好多资料,但是大部分资料都比较繁琐,并且没有一个教程能够直接从头到尾适合,在部署过程中,我是按照很多教程然后综合试验着逐渐部署成功,其中有 ...

  3. django+nginx+gunicorn+supervisro部署

    一.nginx 1.yum install -y nginx  #默认安装后的配置文件路径:/etc/nginx/nginx.conf 2.新建项目的配置文件,因为默认配置文件会包含子配置文件,目录为 ...

  4. django+nginx+supervisor+gunicorn+gevent 网站部署

    django+nginx+supervisor+gunicorn+gevent 网站部署 django,nginx,supervisor,gunicorn,gevent这几个都是在本领域大名鼎鼎的软件 ...

  5. Django Linux环境下部署CentOS7+Python3+Django+uWSGI+Nginx(含Nginx返回400问题处理、防火墙管理)

    本文将介绍如何在Linux系统上部署Django web项目,本次部署基于下面的架构: CentOS7+ Python3.5 + Django1.11 + uWSGI + Nginx 亲测可行!!按照 ...

  6. CentOS上部署Django+Nginx+Uwsgi环境

    在CentOS上部署Django+Nginx+Uwsgi环境 奇谭  2016-09-01 评论  Linux  python django nginx uwsgi VirtualEnv的作用:创建隔 ...

  7. Nginx 和 Gunicorn 部署 Django项目

    目录 Nginx 和 Gunicorn 部署 Django项目 配置Nginx 安装配置Gunicorn 通过命令行直接启动 Gunicorn 与 uwsgi 的区别,用哪个好呢 Gunicorn u ...

  8. ubuntu+Django + nginx + uwsgi 部署

    ubuntu+Django + nginx + uwsgi 部署 0.前期准备 注意:以下几件事都必须在激活虚拟环境下完成 运行以下命令生成项目所需的依赖列表,会在项目根目录生成一个requireme ...

  9. 将树莓派变成一个web服务器(2):Nginx+Flask+uWSGI部署全过程

    1)安装Flask,uwsgi,nginx sudo apt-get update sudo apt-get install python-flask #Flask sudo apt-get inst ...

随机推荐

  1. Failed to load resource: the server responsed with a status of 400 (Bad Request)

    浏览器报错:Failed to load resource: the server responsed with a status of 400 (Bad Request) ajax请求失败,一般情况 ...

  2. Aliyun mysql配置 远程访问 10038

    环境 centos7.2    mysql5.7 网上搜了好多的文章,有的说在/etc/my.cnf 注释掉bind-address = 127.0.0.1 ,也开启了3306端口的防火墙,也添加了远 ...

  3. 用SPSS做时间序列

    用SPSS做时间序列 关于时间序列,有好多软件可以支持分析,大家比较熟悉的可能是EVIEWS.SPSS.还有STATA,具体用啥软件,结果都是一样的,但是SPSS作为一款学习简单,使用容易的软件还是值 ...

  4. 理解jquery的$.extend()、$.fn.extend()【jQuery插件机制】

    /** * 操作数据 | DOM 操作 * @description jQuery类添加类方法,可以理解为添加静态方法,将一个或多个对象的内容合并到目标对象 * @use $.fn.zhang() | ...

  5. 网络流强化-POJ2516

    k种货物分开求解最小费用最大流,主要减少了寻找最短路的时间. #include<queue> #include<cstdio> #include<cstring> ...

  6. MapReduce(3): Partitioner, Combiner and Shuffling

    Partitioner: Partitioning and Combining take place between Map and Reduce phases. It is to club the ...

  7. Using Tensorflow SavedModel Format to Save and Do Predictions

    We are now trying to deploy our Deep Learning model onto Google Cloud. It is required to use Google ...

  8. fatal error C1047: The object or library file xxx was created with an older compiler than other objects

    之前编译Cocos2DX时遇到过一次,这次又遇到了,记下解决方法,以防再来第三次. 这个错误是说链接的库或者文件是老版本编译器生成的,与当前编译器不符,比如这次用的预编译库是2015的,而我当前使用的 ...

  9. 永远让比较函数对相等的值返回false

    今天在刷OJ的时候,有一道题一直Runtime Error,查错出来是比较函数写挂掉了,但是不知道错误在哪,于是查阅资料:永远让比较函数对相等的值返回false 具体可点击此处查看分析:链接 另外,在 ...

  10. jQuery基础--插件

    1. 插件 1.1. 常用插件 插件:jquery不可能包含所有的功能,我们可以通过插件扩展jquery的功能. jQuery有着丰富的插件,使用这些插件能给jQuery提供一些额外的功能. 1.1. ...