系统中配置机架_Nginx windows系统中安装配置一例

单位因安全需要就一个IP和有限的端口对外开放,疫情期间要访问不同的服务器,就只能远程跳转;访问内网中不同端口的web服务,相当麻烦,于是想到了用nginx来做访问转发到不同的内网服务器。

(1)下载nginx,服务器是windows于下载windows版

下载地址:http://nginx.org/en/download.html

56eaf5023abe49cdd72bb758151facd9.png

(2)服务器上解压,并起动服务。注意nginx是默认是80端口,因此把所有占用80的端口的web服务停用,比如:iis、apache等修改为其他端口。

cmd---定位到刚解压的目录---启动服务

634967b12bb5157ad31792189744835d.png

起动:start nginx

96c70d4b1a60a9bc4c18ef26ec5f3fab.png

(3) 开始配置。打开:conf/nginx.conf文件,进行配置

注意:windows系统的名称域名不要用_,可用.、-一类都可以,linux系统不影响。在这里踩过坑,解决了很长时间。报的错误如下:

Invalid HTTPHOST header: 'server_default'. The domain name provided is not valid according to RFC 1034/1035.

a、添加默认域名访问时直接跳转到本机的8088端口:

在server{ 之前添加:

#跳转到本机8088端口

upstream server.default {

ip_hash;

server 127.0.0.1:8088;

}

# 如果域名后添加/examd后缀,则跳转到内网另一台服务器

upstream server.exame {

server 10.84.100.191:80;

}

在server {中添加:

listen 80;

server_name "你的域名";

#charset koi8-r;

#access_log logs/host.access.log main;

location / { #默认跳转到

proxy_pass http://server.default;

add_header backendIP $upstream_addr;

access_log off;

proxy_redirect off;

client_max_body_size 5000m;

##add_header X-Frame-Options SAMEORIGIN;

}

(b)如果访问:域名/exame,则跳转到10.84.100.191:80

upstream的配置见a项中的相关配置

server{里添加:

location /exame {

proxy_pass http://server.exame;

add_header backendIP $upstream_addr;

access_log off;

proxy_redirect off;

client_max_body_size 5000m;

##add_header X-Frame-Options SAMEORIGIN;

}

保存配置后要重新启用配置,启用的命令是:

nginx -s reload

(4)nginx的其他命令

关闭: nginx -s quit

使用过程中一些问题的解决方案补充:

1、修改配置文件后,nginx -s reload后,配置不生效

这是因为不小心多次运行了start nginx,出现了6个nginx的进程,关闭命令只能关闭一个。所以配置不生效。在进程管理中把所有进程关闭。再重起即可。

2、504 Gateway Time-out

有一系统的认证是需要通过CAS认证,认证过程非常慢,通常会超过60秒,则会出现此提示,解决方法,在配置文件中添加:

location / {

proxy_pass IP地址;

add_header backendIP $upstream_addr;

access_log off;

proxy_redirect off;

proxy_read_timeout 3600; #超时设置

}

3、同一域名要根据链接,到不同服务器:

server {

listen 80;

server_name 域名;

location /ftedu-video-hls { #此链接到视频服器

types{

application/vnd.apple.mpegurl m3u8;

video/mp2t ts;

}

proxy_pass http://server-video;

access_log off;

add_header Cache-Control no-cache;

add_header Access-Control-Allow-Origin *;

}

location / { #默认到web应用服务器

proxy_pass web服务器;

add_header backendIP $upstream_addr;

access_log off;

proxy_redirect off;

proxy_read_timeout 3600; #超时设置

}

}

4、今天在上传一个大文件发现Nginx报错了:nginx 413 Request Entity Too Large

添加上下面加粗的代码即可。

location / {

proxy_pass XXXXX;

proxy_set_header Host $host:$server_port;

access_log off;

proxy_redirect off;

proxy_read_timeout 3600; #超时设置

client_max_body_size 5000m; # 文件上传的最大值

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值