centos 7 django + nginx + uwsgi

首先,因为我们本地是由django项目的,所以安装配置django项目就不多讲解

主要讲解本人这几天配置nginx 和uwsgi 关联时碰到的一些

1,安装uwsgi

安装uwsgi,之前百度试了很多种安装uwsgi的方式,最后总结出本人人文最好的一种

通过pip3安装

pip3 install uwsgi

pip3 list 查看是否安装成功

然后在/usr/bin/下面就是系统配置,你得把你安装好的uwsgi 的环境变量配置进去

所以我们要建立软链接

ln -s /home/ares/.local/bin/uwsgi /usr/bin/uwsgi

前面是指你uwsgi安装的位置,后面是系统环境变量的位置,

如果不知道pip3安装的uwsgi的位置的话,可以在执行一遍pip3 install uwsgi 

那样就可以看到我们pip3包安装的位置了

在我的/usr/bin/下面可以看到我已经添加成功


创建测试文件
安装好后创建一个测试文件test.py,内容如下:


def application(env, start_response):
    start_response('200 OK', [('Content-Type','text/html')])
    return [b"Hello World"]


测试
进入到test.py文件的目录下运行启动命令
uwsgi --http :9999 --wsgi-file test.py

网站能看到Hello World 就代表测试成功,当然你也可以跳过这 直接进行下面的步骤



然后在我们项目目录下面新建一个uwsgi.ini配置文件,本人是在fortress下面新建的

然后里面的配置 

[uwsgi]

# 这里填的是本人服务器的ip以及给uwsgi 的一个端口 端口可以随便设置,不局限于9999 只要不重复都可以
http = 192.168.1.189:9999

# 这个是指向你项目 manage.py 的路径
chdir = /var/lib/jenkins/workspace/build_jobs/fortress

# module 是指向你wsgi.py的路径,就是与你项目setting.py同目录下,通常django都会自带一个wsgi.py文件
module = app.admin.wsgi:application
master = true
processes = 4i
vacuum = true
daemonize = uwsgi.log
pidfile = uwsgi.pid
thunder-lock=true
# 启用线程
enable-threads=true
# 设置自中断时间
harakiri=30
# 设置缓冲
post-buffering=4096


这时候在当前目录下面运行

uwsgi --ini uwsgi.ini 

看见

这样的提示代表你的uwsgi 已经跑起来了

可以通过这条命令查看运行状态 ps -ef |grep uwsgi 

看到这种就代表你的uwsgi以4921的进程号跑起来了  这时候

访问你之前uwsgi.ini 里面配置的http后面的ip地址和端口就可以看见咋们的django 网站了


出现这样代表你的uwsgi 已经配置成功 接下来就是nginx了

2,安装nginx

可以通过yum install nginx 安装nginx

如果中途出现

yum安装报错Error:Nothing to do
报错信息
No package nginx available
Error:Nothing to do
用EPEL方式安装nginx:
sudo yum install epel-release
yum update
yum install nginx

这样就可以安装成功你的 nginx了

whereis nginx 可以看到你的nginx 在哪里

可以看到我们的nginx 启动在/usr/sbin  下面,这时候我们启动nginx ,然后通过ip 访问我们的nginx

这时候会开肩 wecome to xxx一些官方的页面,这时候就代表你的nginx 开启成功了

nginx配置文件在/etc/nginx 下面

查看 /etc/nginx下面的目录可以看到nginx.conf这样的nginx 配置文件

正常你这里面还会又conf.d 这个文件夹,你可以在里面创建一个xxx.conf的文件格式,在这个里面搭建nginx

的配置也可以,因为系统nginx.conf里面引入了conf.d里面的.conf格式的所以文件,本人是直接在nginx.conf里面

搭建的    配置如下

如果你是在conf.d下面的文件搭建的话,你只需要

这一段代码就行

讲解一些 代码的要求

server {
listen 80;
listen [::]:80;

# server_name  你网站的域名,当然也可以写ip
server_name ci.yixzm.cn;

# 你的静态文件的路径,本网站由于做了前后端分离,所以暂时没有前端静态文件,所以后面的public 可有可无,但是由于

#网站正在完善,所以我还是加上了
root /var/lib/jenkins/workspace/build_jobs/fortress/public;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {

# 这一步就很重要了,把你的nginx 和uwsgi关联起来,
include uwsgi_params;

# 这是你之前uwsgi.ini  中http 里面配置的ip,下面一定要和你uwsgi.ini 里面的一样  还有一种是uwsgi_pass 127.0.0.1:3031;

# 这种,不过我发现这种,关联不到uwsgi,后面发现是http协议的事,经过大神肖哥的亲自操刀,改为,下面这种,网站就搭好了
proxy_pass http://192.168.1.189:9999;
}
error_page 404 /404.html;
location = /404.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}


这时候我们启动nginx ,下面是uwsgi 和nginx 的一些常用命令

nginx 重启 nginx -s reload
nginx 停止 nginx -s stop
#### 启动:
uwsgi --ini xxx.ini
#### 重启:
uwsgi --reload xxx.pid
#### 停止:
uwsgi --stop xxx.pid

启动之后我们可以看到

通过上面的导航栏,可以看到,这时候我们的网站,后面没有端口号了,这时候nginx 成功代理80端口,而不是uwsgi的9999端口了

下面由本人的一些报错,列出来参考 

Nginx报错:nginx: [error] invalid PID number "" in "/run/nginx.pid" 解决方法
服务器重启之后,执行 nginx -t 是OK的,然而在执行 nginx -s reload 的时候报错
nginx: [error] invalid PID number "" in "/run/nginx.pid"
解决方法:
需要先执行
nginx -c /etc/nginx/nginx.conf
nginx.conf文件的路径可以从nginx -t的返回中找到。
nginx -s reload

--------------------------------------

要是你成功通过nginx 访问到网页的话,通常会出现中文乱码的问题,

这时候你只需要在html中加入 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 

并在nginx.conf 中的server中加入

#设置字符集
charset utf-8;

就可以解决乱码的问题了

到这里,nginx+uwsgi+django 就完成了

最后特别感谢我们的大佬---肖哥的 操刀,

本人几天的问题,大佬几十分钟搞定,顶!!!!!

希望看到此文章的各位以后也是能成为这种大佬!!!!




























版权声明

弈心博客


首发 弈心博客,转载请附链接!

赞赏支持

感谢支持!


建站不易,感谢支持!

推荐阅读
centos 7 django + nginx + uwsgi 首先,因为我们本地是由django项目的,所以安装配置django项目就不多讲解主要讲解本人这几天配置nginx 和uwsgi 关联时碰到的一些1,安装uwsgi安装uwsgi,之前百度试了很多种安装uwsgi的方式,最后总结出本人人文最好的一种通过pip3安装pip3 install uwsgipip3 list 查看是否安装成功然后在/usr/bin/下面就是系统配置,你得把你安装好的uwsg
858

寻找身份(6) 第6章 尾声 城郊的墓园里,看到我,苏茂君非常惊讶,“你怎么知道我在这里?” 我没有说话,将手中两束菊花分别放在他身后的两个相邻的墓碑前。 这两个墓碑没有姓名,没有生辰年月,只刻了死亡的日期。一个是两年前的九月十三日,也就是坠楼事件发生当日,另一个是八个月前。它们挨在一起,就好像墓碑主人生前的命运一样,仿佛毫无联系,却又紧紧纠缠。 静默了三分钟之后,我抬头望着他,“苏先生和那位流浪汉一定会感激你的
785

Ubuntu中Apache2启动失败报错Job for apache2.service failed because the cont... Ubuntu中Apache2启动失败报错Job for apache2.service failed because the cont... 为解决这个问题,花了一个下午,参考了120多条网络博文,很有成就感。但实际上是由于一个简单的配置原因导致的问题,希望以后可以更加细心。 ### - 最初的现象,php代码没有解析 phpinfo输出内容是 ``` ``` 显然,只是代码,并没有成功解析ph
1304

《红楼梦》真的很好吗?有必要吹捧那么高吗?不过是一本垃圾书 小编闲来无事随手翻看了知乎问题“红楼梦真的很好吗?”下的一些回答,不禁愕然。 本以为会是仁者见仁智者见智的开放式讨论,然而却发现几乎是清一色的极尽吹嘘,遂忍不住心生厌恶。 毕竟是一本书,读过之后,喜欢或者不喜欢都很正常。把“不喜欢一本书”上纲上线到“不尊重民族文化”,就过于矫情了。一本小说搞的和宗教一样,不信就要谴责,这不可取。 客观来讲,《红楼梦》这部书真的很好吗? ## 【0】 从写
6563

九型人格中的8号人格是什么?九型人格第八型人格领袖型(领袖者)详解 九型人格第八型人格,8号,—— 领袖型 ## 基本特点 自我意识:我是老大 行为目标:控制整体局面 根本需求:获得掌控和征服 根本恐惧:失去控制 ## 典型人物 让那些内外反动派,在我们面前发抖吧! —毛泽东 ![让那些内外反动派,在我们面前发抖吧!—毛泽东](https://www.yixzm.cn/demo/album/load/id/404d71820e9bd7640bde
4290

迷茫消沉时,有哪些关于梦想和创业的励志歌曲能帮我们走出困境? 回顾公司创业初期适合的歌曲,很励志。 风雨中这点痛算什么,擦干泪…… 生命就像 一条大河 时而宁静 时而疯狂 现实就像 一把枷锁 把我捆住 无法挣脱 这谜样的生活锋利如刀 一次次将我重伤…… 励志歌曲通常不容易被时代遗忘。迷茫、消沉时,激励的歌词和蕴含战斗意志的旋律帮助我们走出低谷。 ![将来的你一定会感谢现在奋
2957

一代侠医肖汉兴的励志人生 一代侠医肖汉兴的励志人生 ## 从医 有一人,诞生于中华风雨飘渺之际,父辈给予厚望,故取名汉兴。 肖汉兴年幼时聪慧好学,七岁入私塾,原本要走科举之路。但在他十一岁那年,科举废除,于是学医。 仅两年后,十三岁的他即可切脉问诊,人称小先生。 民国十四年,肖汉兴通过军医考核,成为吴佩孚部军医。 民国十六年,吴佩孚
1542

盘点知乎你心目中的十大励志电影榜单 知乎关于励志的问题有很多,比如你心目中的十大励志电影是什么?如果小编来回答,《当幸福来敲门》《爆裂鼓手》《垫底辣妹》《喜剧之王》《少林足球》《三傻大闹宝莱坞》……还有没看过的《肖申克的救赎》,太多啦,实在不好选。 总体来说,星爷的电影大都是小人物的成长史,自然都很励志。其中的许多励志台词各位读者想必也是耳熟能详,比如
1538

盘点成龙点燃梦想和激情的那些励志歌曲歌词 冲前去,全部得失只有寸心痴!跨步上云上我要去写名字。 凭傲气自我写我一生的诗,情共爱泪与痴 真诚是意义。 生命豁出去 留下了惊人快事! 英雄有骨气 雄视世界似醒狮! 成龙大哥比较出名的歌曲都非常的励志,虽说唱功细腻比不过职业歌手,但要论英雄气和歌曲中蕴含的战斗意志,那些软绵绵的情爱歌手们就比不上了。 小编盘点
2199