nginx配置

安装nginx 

sudo apt update -y

sudo apt install nginx -y

启动nginx

sudo systemctl start nginx

查看启动状态,如果启动状态为active,则表示安装成功

sudo systemctl status nginx

启动之后如果域名没有备案,会提示域名没有备案,使用不了域名,但是可以使用ip端口

nginx的名字可以随便配置,但是后缀一定是conf

1.配置上传流

upstream xceshi_prod {

# 此处为uwsgi运行的ip地址和端口号

server 172.17.48.137:8000;

}

配置服务

server {

# 监听端口

listen      80;

# 服务器域名或者ip地址

server_name 39.97.116.6 .machunliang.top;

# 编码

charset    utf-8;

# 文件最大上传大小

client_max_body_size 75M;

# 媒体文件

location /media  {

alias /home/machunliang/xceshi_pro/xceshi/media;

}

# 静态文件

location /static {

alias /home/machunliang/xceshi_pro/xceshi/static;

}

# 主目录

# 这里是反向的代理,也就是如果你的url地址是以media或static开头就去项目中的media或static中去找

# 如果url不是media或static开头,他就会把这个路径资源请求交给这个upstream上传器,上传流的加载器

location / {

uwsgi_pass  xceshi_prod;

# 这里的反向代理名称要和上面的upstream的加载器名称一样

include    /etc/nginx/uwsgi_params;

}


# 弄完把nginx配置复制到/etc/nginx/conf.d文件夹中

# 然后把/etc/nginx的文件夹里的nginx.conf的这个文件的user改成虚拟环境当前的用户


然后保存好退出

运行命令sudo nginx -t -c /etc/nginx/nginx.conf

出现下图sucessful运行nginx即为成功


运行nginx成功之后还要重新加载nginx配置

命令:sudo nginx -s reload -c /etc/nginx/nginx.conf


或者sudo systemctl reload nginx也可以重新加载配置

重新加载配置之后再浏览器输入域名或者ip查看一下项目可以看到502报错


为什么502报错,因为我们的uwsgi服务还没有启动

用为uwsig服务没有启动,但是我们静态文件可以访问

所以可以通过域名或者网址进行静态文件访问,就是说这个图片是nginx提供的服务,并不是runserver

也就是nginx的反向代理服务和静态文件访问是分开的是独立的,哪怕uwsgi服务不启动,也不影响静态文件访问

启动uwsgi服务,这里需要进入虚拟环境启动,还要把当前目录切换到delop中

uwsgi --ini  uwsgi_conf .ini &

你可能感兴趣的:(nginx配置)