Ngnix1.13.3 安装配置

本文介绍如何在服务器上安装Nginx与Pcre,并详细配置Nginx以实现Tomcat服务代理,包括负载均衡及WebSocket支持等高级特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Nginx下载: https://pan.baidu.com/s/1BzdzdKDr179FNOVaifWAgw

Pcre下载:https://pan.baidu.com/s/1aVbo8f-87XceLeWou-Q_lw

 

1)下载Nginx和Pcre上传到服务器/usr/local/src目录下

2)安装脚本:

cd /usr/local/src
unzip nginx.zip;
rm -rf nginx.zip;
unzip pcre-8.40.zip
cd pcre-8.40
./configure --prefix=/usr/local/pcre
make
make install
cd ../
tar -xvzf nginx-1.13.5.tar.gz 
cd nginx-1.13.5
./configure --prefix=/usr/local/nginx --with-pcre=/usr/local/src/pcre-8.40

make
make install
ls

 安装完毕,启动./nginx

 注意:--with-pcre=/usr/local/src/pcre-8.40 是源码目录。

安装完nginx后,我们预先配置下tomcat服务代理:

vi /usr/local/nginx/config/nginx.conf ,将内容替换为以下内容:

#user  nobody;
worker_processes  4;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  10240;
}


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

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;
    #gzip  on;

    client_max_body_size 100M;
    client_body_buffer_size 1024k;

    include loadbalancing.conf;
}

:wq! 保存并退出。然后在同级目录下新建loadbalancing.conf

vi loadbalancing.conf,复制以下内容: 

#负载均衡配置

map $zone $loadbalancing 
{
	MasterSp  	server1;
	UserQuery	server1;
	CpQuery		server1;
	adimage		server1;
	pincheService	server2;
}
 

upstream server1
{  
	server 127.0.0.1:8081;
	server 127.0.0.1:8082;
	 
	#每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
	ip_hash;
	
	#按后端服务器的响应时间来分配请求,响应时间短的优先分配。
	#fair;
}  

 
proxy_cache_path /home/ncache levels=1:2 keys_zone=ncache:20m max_size=50g inactive=30d;

server
{
	listen       80;
	server_name  test.com;
	charset utf-8;
	proxy_ignore_client_abort on;
	error_page   500 502 503 504  /50x.html;
        location = /50x.html {
		root   html;
        }

 	location = /favicon.ico {
		root   html;
	}
	
        #websocket访问配置
	location ~ /ws{
		proxy_pass http://127.0.0.1:8083;
        	# WebScoket Support
        	proxy_http_version 1.1;
        	proxy_set_header Upgrade $http_upgrade;
        	proxy_set_header Connection "upgrade";

        	proxy_set_header X-Forwarded-Host $host;
       		proxy_set_header X-Forwarded-Server $host;
        	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
	}
	 
	#带命令字地址访问
	location ~ /
	{  
	    proxy_pass_header Server;  
	    proxy_set_header Host $http_host;  
	    proxy_redirect off;  
	    proxy_set_header X-Real-IP $remote_addr;  
	    proxy_set_header X-Scheme $scheme;
	    proxy_set_header X-Frame-Options SAMEORIGIN;
	    proxy_connect_timeout 1800;   	
	    proxy_read_timeout 1800;
	    proxy_send_timeout 1800;
	    if ( $request_uri ~ ^/(\w*) ) {  
                set $zone $1;  
                proxy_pass http://$loadbalancing;  
            }             
        } 

	location = /
	{  
		proxy_pass_header Server;  
		proxy_set_header Host $http_host;  
		proxy_redirect off;  
		proxy_set_header X-Real-IP $remote_addr;  
		proxy_set_header X-Scheme $scheme;
		proxy_connect_timeout 1800;    
		proxy_read_timeout 1800;
		proxy_send_timeout 1800;
		set $zone $request_uri;  
		proxy_pass http://$loadbalancing;           
	}
	
	#静态页面 
	location ^~ /test/
	{
	    root /home/project/web; #test静态资源文件夹放在此目录下
	}
	 
}
注意修改 upstream server1 节点下的平台访问ip和端口
然后重启ngnix /usr/local/nginx/bin/./nginx -s reload

 

 

nginx的Windows版本使用原生Win32 API(非Cygwin模拟层)。当前nginx/Windows只使用select作为通知方法,所以不要期待它有很高的性能和扩展性。鉴于这点和一些已知问题,nginx/Windows目前还处于beta阶段。nginx/Windows和Unix版本相比,功能几乎已经齐全,除了XSLT过滤器、图像过滤器、GeoIP模块和嵌入Perl语言支持以外。 安装nginx/Windows,需要下载最新的1.3.13开发版本,因为开发分支上包含了所有已知的问题修复,尤其是针对Windows版本的问题修复。解压缩下载得到的zip文件,进入nginx-1.3.13目录,运行nginx。下面给出一个在C盘根目录下安装的例子: cd c:\ unzip nginx-1.3.13.zip cd nginx-1.3.13 start nginx 可以在命令行运行tasklist命令来查看nginx进程: C:\nginx-1.3.13>tasklist /fi "imagename eq nginx.exe" Image Name PID Session Name Session# Mem Usage =============== ======== ============== ========== ============ nginx.exe 652 Console 0 2 780 K nginx.exe 1332 Console 0 3 112 K 其中一个是主进程,另一个是工作进程。如果nginx没有启动,请查看logs\error.log文件以寻找失败原因。如果日志文件不存在,那失败原因会记录在Windows事件日志中。如果某次请求没有展示预想的页面,而是展示了错误页面,也请查看logs\error.log文件。 nginx/Windows使用工作目录作为前缀将配置文件中设置的相对目录补齐。就上面安装的例子而言,工作目录应该是C:\nginx-1.3.13\(工作目录基本上与运行文件所在的目录相同)。配置文件中的目录请使用“/”,而不是“\”做目录分隔: access_log logs/site.log; root C:/web/html; nginx/Windows作为标准控制台应用运行,而不是系统服务。可以用下面的命令控制: nginx -s stop 快速退出 nginx -s quit 优雅退出 nginx -s reload 更换配置,启动新的工作进程,优雅的关闭以往的工作进程 nginx -s reopen 重新打开日志文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值