Skip to content

Latest commit

 

History

History
97 lines (69 loc) · 1.91 KB

File metadata and controls

97 lines (69 loc) · 1.91 KB

nginx

install

ubuntu

apt-get install nginx

# 查看是否安装成功
nginx -v

# 开启 nginx
systemctl start nginx
service nginx start

# 重启,热部署
nginx -s reload

# 关闭
nginx -s stop

安装后的文件位置

/usr/sbin/nginx:主程序
/etc/nginx:存放配置文件
/usr/share/nginx:存放静态文件
/var/log/nginx:存放日志

config

# 找到服务器nginx路径下的default.conf文件,如没有可用vim命令创建一个,编辑这个文件
vim /etc/nginx/conf.d/default.conf

server{
    listen 80;    # 80为公网访问的端口
    server_name 104.*.*.*;  # 填入公网的Ip地址
    rewrite ^/$ / break;  
    location / {
    	proxy_pass http://127.0.0.1:8000;  # django中的地址和端口
    }
}

# 检查语法是否正确
nginx -t

多服务反向代理 https://www.cnblogs.com/panchanggui/p/12064427.html

一个代理多个子域名的 nginx 配置

server{
	listen 80;    # 80为公网访问的端口
	server_name *.wansho.top;  # 填入公网的Ip地址
	
	if ($http_host ~* "^(.*?)\.wansho\.top$") {    #正则表达式
		set $sub_domain $1;                     #设置变量
		set $is_matched 0; 
	}

	location / {
		if ($sub_domain ~* "running|sentiweibo|www") {
		   proxy_pass http://127.0.0.1:8000;      #域名中有 running sentiweibo,转发到 8000 端口的 Django 服务
		   set $is_matched 1;
		}
		
		if ($sub_domain ~* "rss") {
		   proxy_pass http://127.0.0.1:1200;      #域名中有shop,转发到 1200 端口的 rss 服务
		   set $is_matched 1;
		}
		
		# 没有匹配到,跳转到默认页面
        if ($is_matched = 0) {
            proxy_pass https://127.0.0.1:8000;
        }
		
		tcp_nodelay     on;

		proxy_set_header Host            $host;

		proxy_set_header X-Real-IP       $remote_addr;

		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		
		root html;
		
		index index.html index.htm;
	}
}