Nginx-第一篇:在实践中对nginx.conf进行配置

#这里是全局块,可以配置一些全局生效的配置,比如nginx启动用户,nginx的worke_press

#user nginx; (默认为nginx用户,可以不设置)

worker_processes 3; #进程数

#错误日志打印(级别分为 debug, info, notice, warn, error, crit  默认为crit)
error_log logs/error.log debug;
#error_log logs/error.log notice;
#error_log logs/error.log info;

#当前 nginx 住进程的 ID 号,打印日志时候一定要打开
pid logs/nginx.pid;

#event块,配置worker_connections,也是全局生效

events {
#这个属性是指单个工作进程可以允许同时建立外部连接的数量
worker_connections 1024;
}

#http块,nginx服务器配置中的重要部分,代理,缓存,日志定义等绝大部分功能以及第三方配置都可以放在这个模块中。

http {

include mime.types;
default_type application/octet-stream;

#日志格式
log_format main '$remote_addr - $remote_user [$time_iso8601] '
                               'fwf[$http_x_forwarded_for] tip[$http_true_client_ip] '
                               '$upstream_addr $upstream_response_time $request_time '
                               '$http_host $request '
                               '"$status" $body_bytes_sent "$http_referer" '
                               '"$http_accept_language" "$http_user_agent" ';  

#打印日志
access_log logs/access.log main;
#开启高效文件传输模式
sendfile on;
# tcp_nopush on;
#长连接超时时间,单位是秒
keepalive_timeout 65;

#解决超时问题,和数据过多问题
fastcgi_buffers_  8 16k;
fastcgi_buffer_size 32k;
fastcgi_connect_timeout 300; 
fastcgi_send_timeout 300;
fastcgi_ead_timeout 300;


# gzip压缩功能设置
#gzip on;

#我们作为服务端Start#
#设定负载均衡后台服务器列表
upstream www_server_pools{
server 10.192.129.97:8080 weigh=1 ;
server 10.192.129.99:8080 weigh=1 ;
}

#每一个http块可以包含多个server块,在server块中配置虚拟主机需要监听的端口,IP或域名

#很重要的虚拟主机配置

server {

            listen 7028; #监听端口
            server_name localhost;

#每一个server块中可以包含多个location块,从严格意义上讲,location块只是server块的一个指令,它会接收到域名后面跟着的#字符串,根据字符串来进行匹配,对特定请求进行处理,重定向,缓存,以及应答控制等功能。

location {
             root html;
             index index.jsp index.html index.htm;
             proxy_pass http:// www_server_pools;#配置代理服务器
             # 后端的Web服务器可以通过X-Forwarded-For获取用户真实IP
             proxy_set_header Host $host;
             proxy_set_header X-Forwarded-For $remote_addr;
}

error_page 500 502 503 504 /50x.html;#返回错误页

}

#我们作为服务端End#

#我们作为客户端Start#
# 设定负载均衡后台服务器列表
upstream www_server_br{
server 10.192.192.97:443 ;
}
upstream www_server_mi{
server 10.151.192.45:1210 ;
}
#配置域名,开放的端口为80,端口配不配都可(在dns中需要对域名进行解析,不然启动的时候会报错)
upstream www_server_my{
server www.lixy.sober.com;
}

upstream www_server_pr{
server 10.193.66.96:3096 ;#这个是wsdl文件路径的服务器
}

# 很重要的虚拟主机配置
server {
           listen 7029;
           server_name localhost;
#访问mi
location /api {
             root html;
             index index.jsp index.html index.htm;
             proxy_pass https:// www_server_mi;
             # 后端的Web服务器可以通过X-Forwarded-For获取用户真实IP
             proxy_set_header Host $host;
             proxy_set_header X-Forwarded-For $remote_addr;

            #访问后端需要携带证书,必须是pem格式,如果不是可以通过openssl工具进行转
            proxy_ssl_certificate  /home/nginx/nginx/conf/cert/bea.pem
            proxy_ssl_certificate_key  /home/nginx/nginx/conf/cert/bea.key
}
#访问br
location /backServer2 {
             root html;
             index index.jsp index.html index.htm;
             proxy_pass https:// www_server_br;
             # 后端的Web服务器可以通过X-Forwarded-For获取用户真实IP
             proxy_set_header Host $host;
             proxy_set_header X-Forwarded-For $remote_addr;
}

#访问http://10.193.129.225:7029/services/WebserverApply?wsdl

location /services{
             root html;
             index index.jsp index.html index.htm;
             proxy_pass http:// www_server_pr;
             # 后端的Web服务器可以通过X-Forwarded-For获取用户真实IP,$server_port为监听端口 wsdl的地址
             proxy_set_header Host $host:$sever_port;#第一次请求时把请求的ip+post在请求头header带过去,提供给服务端。
             proxy_set_header X-Forwarded-For $remote_addr;
}

#访问my
location /HLXY99 {
             root html;
             index index.jsp index.html index.htm;

             #解决超时问题
             proxy_connect_timeout 300; #默认值60s, nginx连接到后端服务器的连接超时时间
             proxy_send_timeout 300;#后端服务器数据回传时间_就是在规定时间之内后端服务器必须传完所有的数据。
             proxy_read_timeout 300;#连接成功后_等候后端服务器处理请求的时间。
             #解决后端服务传输数据过多,其实是header过大的问题
             proxy_buffer_size 64k;
             proxy_buffers 32 32k;
             proxy_busy_buffers_size 128k;
             proxy_pass https:// www_server_my;
             # 后端的Web服务器可以通过X-Forwarded-For获取用户真实IP
             proxy_set_header Host www.lixy.sober.com;#为了实现通过域名转发,$host改成域名
             proxy_set_header X-Forwarded-For $remote_addr;
}
    error_page 500 502 503 504 /50x.html;
}
#我们作为客户端End#

}
 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当你运行 `nginx` 的安装脚本并配置配置文件位于 `D:\nginx\conf\nginx.conf` 之后,收到了 "the configuration file D:\nginx/conf/nginx.conf syntax is ok" 和 "nginx: configuration file D:\nginx/conf/nginx.conf test is successful" 这两条信息,这表明你的 Nginx 配置文件语法上没有错误,并且通过了完整性测试。 **详细解释:** 1. **Syntax is ok**: 当 Nginx 解析其配置文件时,它首先检查文件是否包含任何语法错误。这包括但不限于路径错误、标签匹配问题、变量未定义等。当收到 "syntax is ok" 消息时,这意味着所有基本的语法检查都通过了,即配置文件中不存在明显的、可能导致启动失败的语法错误。 2. **Test is successful**: 这意味着 Nginx 已经运行了一个内部测试过程,通常称为“虚拟启动”。在这个过程中,Nginx 尝试加载并处理配置文件中的指令,但并不真正对外提供服务。这个测试过程用于验证配置文件在实际运行时能否按预期工作,而不会真正影响到系统服务。如果测试失败,则可能存在配置冲突或者其他可能会导致服务无法正常工作的设置。 因此,这两条消息一起说明: - 你的 `nginx.conf` 文件是一个有效的配置文件,没有任何语法错误。 - 配置文件本身的功能是正确的,Nginx 能够按照配置文件指示的方式运行。 接下来,你可以安全地启动 Nginx 服务器,因为它已确认配置文件可以正确运行,不会因为语法错误或其他配置问题而崩溃。启动命令通常类似于: ``` nginx -c D:/nginx/conf/nginx.conf ``` 记住,在将服务器置于生产环境之前,总是建议进行全面的测试和性能评估,以确保一切正常工作并且满足所有的需求和安全标准。此外,定期维护和监控 Nginx 服务器也是必要的,以应对任何潜在的问题或更新需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值