[记一个超坑爹的错误]uwsgi+nginx安装步骤与为什么uwsgi + nginx配置之后curl可以访问,浏览器不可访问!!!

想看坑爹错误记录的直接跳到最后一步
想看安装步骤的跳到第二步
第一步有什么用我也不知道
能看到这篇的多半已经看了一大摞文档了我就不多废话了

目录

      • 一、整一个流程大概这样
      • 二、步骤
        • 2.1 pip install uwsgi
        • 2.2 创建目录
        • 2.3 创建 uwsgi_conf.ini 文件
        • 2.4 安装 nginx
        • 2.5 运行 uwsgi
      • 三、我的坑爹问题是什么?

一、整一个流程大概这样

[记一个超坑爹的错误]uwsgi+nginx安装步骤与为什么uwsgi + nginx配置之后curl可以访问,浏览器不可访问!!!_第1张图片

二、步骤

2.1 pip install uwsgi

2.2 创建目录

在项目根目录下创建 deploy 目录来装 uwsgi 的配置文件和log
[记一个超坑爹的错误]uwsgi+nginx安装步骤与为什么uwsgi + nginx配置之后curl可以访问,浏览器不可访问!!!_第2张图片

2.3 创建 uwsgi_conf.ini 文件

关于socket,很多人都讲不明白还啰嗦,这里指的是与nginx通信用的,端口与项目内配置无关,可以自行设置,并且不可以占用nginx的 listen 端口,就这样。

# uwsgi_conf.ini
[uwsgi]
# 选择内网IP和端口,别搞个啥域名的出来,人家在内网通讯
socket=localhost:8001

# 项目根目录
chdir=/home/user1/projects/classonline

#项目中wsgi.py文件的相对目录
wsgi-file=classonline/wsgi.py

# 进程数
processes=2

# 线程数
threads=2

# uwsgi服务器的角色
master=True

# 存放进程编号的文件
pidfile=uwsgi.pid

# 日志文件,因为uwsgi可以脱离终端在后台运行,日志看不见。以前的runserver是依赖终端的
daemonize=logs/uwsgi.log

# 指定虚拟环境所在目录,不能填相对目录
virtualenv=/root/pythonenvs/django22

2.4 安装 nginx

在安装 nginx 的时候出现了错误,大概是跟 redis 有关,如果出现了错误,请安装好并启动 redis,如果有且启动直接跳过,灵活一点谢谢

  1. 安装redis :apt install redis-server
  2. 启动redis :service redis-server start
  3. 安装ngnix :apt install nginx
  4. 配置nginx,/etc/nginx/conf.d/default.conf
upstream classonline {
	# 此处为uwsgi运行的ip地址和端口号
	server localhost:8001;
}


server {
    # 监听端口
    listen      80;

    # 服务器域名或者ip地址,填好了 这里非常重要,只能写一个,不然云服务器不通,我也不知道原因,反正就写着吧
    server_name yejue.com;

    # 编码
    charset     utf-8;

    # 文件最大上传大小
    client_max_body_size 75M;

    # 媒体文件 你项目配置的media 绝对路径
    location /media  {
        alias /home/user1/projects/classonline/media;
    }

    # 静态文件 你项目配置的static 绝对路径
    location /static {
        alias /home/user1/projects/classonline/static;
    }

    # 主目录
    location / {
        uwsgi_pass  classonline;   			# 这里跟上面一样就ok
        include    /etc/nginx/uwsgi_params;	#这里不要乱动
    }
}

  1. 测试是否可用,看清楚命令执行的路径与name,不是上面那个default
    $ nginx -t -c /etc/nginx/nginx.conf
    在这里插入图片描述
  2. 运行 nginx,
$ service nginx start
  1. 可以重新加载配置
$ nginx -s reload -c /etc/nginx/nginx.conf

2.5 运行 uwsgi

# 这里是指命令行执行,别回头找我说为什么错了 & 代表后台运行,不要也没关系
$ uwsgi uwsgi_conf.ini &
# 停止。uwsgi.pid 是自己生成的,存放了uwsgi的pid信息,看上面的uwsgi配置就知道了
$ uwsgi --stop uwsgi.pid 
# 也可以 ps -ef | grep uwsgi,然后暴力kill
kill -9 pid

三、我的坑爹问题是什么?

uwsgi + nginx 配置之后curl可以访问,浏览器不可访问,这让我一脸懵逼啊,配置了一天一夜没找到原因,翻了很多文档也没有说。

众所周知 curl 其实就是个可以访问域名返回网页的东东,类似于 requests.get

后来发现该死的 Chrome 不知道为什么缓存了,看了一天一夜的文档找不出毛病,换了个浏览器,显示正常!!!!!
如果真要用Chrome访问,可以尝试一下清理各种缓存,我舍不得清理,最后用selenium召唤了一个全新的chrome,总算是完结撒花了。
[记一个超坑爹的错误]uwsgi+nginx安装步骤与为什么uwsgi + nginx配置之后curl可以访问,浏览器不可访问!!!_第3张图片

你可能感兴趣的:(Error,和,WARNING,django的朝花夕拾)