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
815

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

霍兰德职业性格测试(MBTI)中的ESFJ(外倾、感觉、情感和判断) 霍兰德职业性格测试(MBTI)中的ESFJ(外倾、感觉、情感和判断) ——我能为您做些什么? 本文内容为霍兰德职业性格测试(MBTI)中的ESFJ(外倾、感觉、情感和判断) 关于霍兰德,在之前的文章已有介绍。 参看 [【霍兰德职业性格测试(MBTI)中的四个维度】](http://www.yixzm.cn/blog/314) [【霍兰德职业性格测试(MBTI)中的十六种类型】](htt
6966

霍兰德职业性格测试(MBTI)中的ESFP(外倾、感觉、情感和知觉) 霍兰德职业性格测试(MBTI)中的ESFP(外倾、感觉、情感和知觉) ——不要担心,高兴起来! 本文内容为霍兰德职业性格测试(MBTI)中的ESFP(外倾、感觉、情感和知觉) 关于霍兰德,在之前的文章已有介绍。 参看 [【霍兰德职业性格测试(MBTI)中的四个维度】](http://www.yixzm.cn/blog/314) [【霍兰德职业性格测试(MBTI)中的十六种类型】](ht
6198

霍兰德职业性格测试(MBTI)中的ESTJ(外倾、感觉、思维和判断) 霍兰德职业性格测试(MBTI)中的ESTJ(外倾、感觉、思维和判断) ————创业者 本文内容为霍兰德职业性格测试(MBTI)中的ESTJ(外倾、感觉、思维和判断) 关于霍兰德,在之前的文章已有介绍。 参看 [【霍兰德职业性格测试(MBTI)中的四个维度】](http://www.yixzm.cn/blog/314) [【霍兰德职业性格测试(MBTI)中的十六种类型】](http://
6910

霍兰德职业性格测试(MBTI)中的ESTP(外倾、感觉、思维和知觉) 霍兰德职业性格测试(MBTI)中的ESTP(外倾、感觉、思维和知觉) ————创业者 本文内容为霍兰德职业性格测试(MBTI)中的ESTP(外倾、感觉、思维和知觉) 关于霍兰德,在之前的文章已有介绍。 参看 [【霍兰德职业性格测试(MBTI)中的四个维度】](http://www.yixzm.cn/blog/314) [【霍兰德职业性格测试(MBTI)中的十六种类型】](http://
6141

霍兰德职业性格测试(MBTI)中的INFJ(内倾、直觉、情感和判断) 霍兰德职业性格测试(MBTI)中的INFJ(内倾、直觉、情感和判断) ————独立的、有独创性的思想家 本文内容为霍兰德职业性格测试(MBTI)中的INFJ(内倾、直觉、情感和判断) 关于霍兰德,在之前的文章已有介绍。 参看 [【霍兰德职业性格测试(MBTI)中的四个维度】](http://www.yixzm.cn/blog/314) [【霍兰德职业性格测试(MBTI)中的十六种类型】
5102

霍兰德职业性格测试(MBTI)中的INFP(内倾、直觉、情感和知觉) 霍兰德职业性格测试(MBTI)中的INFP(内倾、直觉、情感和知觉) ————大智若愚 本文内容为霍兰德职业性格测试(MBTI)中的INFP(内倾、直觉、情感和知觉) 关于霍兰德,在之前的文章已有介绍。 参看 [【霍兰德职业性格测试(MBTI)中的四个维度】](http://www.yixzm.cn/blog/314) [【霍兰德职业性格测试(MBTI)中的十六种类型】](http:/
2951

霍兰德职业性格测试(MBTI)中的INTJ(内倾、直觉、思维和判断) 霍兰德职业性格测试(MBTI)中的INTJ(内倾、直觉、思维和判断) ————能力+独立=完美 本文内容为霍兰德职业性格测试(MBTI)中的INTJ(内倾、直觉、思维和判断) 关于霍兰德,在之前的文章已有介绍。 参看 [【霍兰德职业性格测试(MBTI)中的四个维度】](http://www.yixzm.cn/blog/314) [【霍兰德职业性格测试(MBTI)中的十六种类型】](ht
5507

霍兰德职业性格测试(MBTI)中的INTP(内倾、直觉、思维和知觉) 霍兰德职业性格测试(MBTI)中的INTP(内倾、直觉、思维和知觉) ————聪颖机智解决问题的人 本文内容为霍兰德职业性格测试(MBTI)中的INTP(内倾、直觉、思维和知觉) 关于霍兰德,在之前的文章已有介绍。 参看 [【霍兰德职业性格测试(MBTI)中的四个维度】](http://www.yixzm.cn/blog/314) [【霍兰德职业性格测试(MBTI)中的十六种类型】](
5355

霍兰德职业性格测试(MBTI)中的ISFJ(内倾、感觉、情感和判断) 霍兰德职业性格测试(MBTI)中的ISFJ(内倾、感觉、情感和判断) ——我以名誉担保,履行自己的责任和义务 本文内容为霍兰德职业性格测试(MBTI)中的ISFJ(内倾、感觉、情感和判断) 关于霍兰德,在之前的文章已有介绍。 参看 [【霍兰德职业性格测试(MBTI)中的四个维度】](http://www.yixzm.cn/blog/314) [【霍兰德职业性格测试(MBTI)中的十六种
5696

霍兰德职业性格测试(MBTI)中的ISFP(内倾、感觉、情感和知觉) 霍兰德职业性格测试(MBTI)中的ISFP(内倾、感觉、情感和知觉) ——思想起决定作用 本文内容为霍兰德职业性格测试(MBTI)中的ISFP(内倾、感觉、情感和知觉) 关于霍兰德,在之前的文章已有介绍。 参看 [【霍兰德职业性格测试(MBTI)中的四个维度】](http://www.yixzm.cn/blog/314) [【霍兰德职业性格测试(MBTI)中的十六种类型】](http:
5623