Nginx的常见配置

1、Nginx的安装

Nginx的安装有两种

  1. 下载编译好的压缩包,直接解压就可以使用
  2. 下载未编译的源码,需要编译之后再安装才能使用

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

在这里插入图片描述

1、Linux下源码编译安装

1、压缩包上传解压

tar -zxvf nginx-1.11.1.tar.gz

2、编译安装

指定位置安装

## 配置Nginx用户
./configure --prefix=/usr/nginx

## 配置Nginx的安装路径
--prefix=/usr/nginx

增加gzip_static
 --with-http_gzip_static_module
 
--prefix=/usr/nginx:安装路径
./configure --prefix=/usr/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.35  --with-http_gzip_static_module

编译安装

make && make install

遇到问题

1、安装缺少依赖

yum install -y gcc pcre-devel zlib-devel

运行Nginx

进入安装路径
在这里插入图片描述
生成了sbin目录,运行里面的nginx文件启动
在这里插入图片描述

1、不指定配置文件启动,使用默认配置文件
./nginx
2、指定配置文件启动
./nginx -c /home/nginx/nginx-1.18.0/conf/nginx.conf

查看是否启动成功

ps -ef | grep nginx

在这里插入图片描述

Nginx常见命令

1、启动命令

1、不指定配置文件启动,使用默认配置文件
./nginx
2、指定配置文件启动
./nginx -c /home/nginx/nginx-1.18.0/conf/nginx.conf

2、重启命令

这个程序并没有关闭,而是重新加载配置文件

./nginx -s reload

3、关闭命令

./nginx -s stop

或者kill -9 PID

3、Nginx配置文件

1、基本结构

#  全局配置:工作核心数量
worker_processes  2;

# 全局配置:工作线程数
events {
    worker_connections  8192;
}


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

    sendfile        off;

    server_names_hash_bucket_size 128;
    map_hash_bucket_size 64;

    client_body_timeout   10;
    client_header_timeout 10;
    keepalive_timeout     30;
    send_timeout          10;
    keepalive_requests    10;

	client_header_buffer_size 1m;
	large_client_header_buffers 4 2m;

	# gzip模块,需要编译nginx的时候增加gzip模块
    #gzip  on;

	# 负载均衡:监听后端接口服务 -可用于分布式部署
	upstream api_server{
	# 权重、weight值一样的时候,是轮询,还有一种是:ip_hash
		server 127.0.0.1:9001 weight=10;
		server 127.0.0.1:9002 weight=10;
	}
	
	# upstream api_server{
	# 权重、weight值一样的时候,是轮询,还有一种是:ip_hash
	# ip_hash
	# 	server 127.0.0.1:9001;
	# 	server 127.0.0.1:9002;
	# }
	
	#端口8849 代理后端服务	
	server {
		listen 90;
		server_name localhost; #需要将yourdomain.com替换成证书绑定的域名。
		#proxy_http_version 1.1;
		client_max_body_size 10m;
		location / {
			proxy_pass  http://api_server;
			proxy_set_header Host $host;
			index index.html index.htm;
		}
	}
	
	#443 代理网站https服务
	server {
		listen 443 ssl;
		#listen debug.wushusong.com:8051;
		#配置HTTPS的默认访问端口为443。
		#如果未在此处配置HTTPS的默认访问端口,可能会造成Nginx无法启动。
		#如果您使用Nginx 1.15.0及以上版本,请使用listen 443 ssl代替listen 443和ssl on。
		server_name debug.wushusong.com; #需要将yourdomain.com替换成证书绑定的域名。
		proxy_http_version 1.1;
		client_max_body_size 10m;		
		root html;
		index index.html index.htm;
		ssl_certificate cert/debug.wushusong.com.pem;  #需要将cert-file-name.pem替换成已上传的证书文件的名称。
		ssl_certificate_key cert/debug.wushusong.com.key; #需要将cert-file-name.key替换成已上传的证书密钥文件的名称。
		ssl_session_timeout 5m;
		# intermediate configuration
		#ssl_protocols TLSv1.3;
		#ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
		#表示使用的加密套件的类型。
		ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #表示使用的TLS协议的类型。
		ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
		ssl_prefer_server_ciphers on;

		location / {
			root  E:\wss_waybill_check\website\WaybillPortal;
			## root  D:\zx\project\idea\v2\SHDYZX_DZLD\WaybillPortal;
			try_files $uri $uri/ /index.html;
            index  index.html index.htm;
        }
		
		location /wss-api/{
			proxy_set_header Host $http_host;
			proxy_set_header X-Real-IP $remote_addr;
			proxy_set_header REMOTE-HOST $remote_addr;
			proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
			proxy_pass  http://127.0.0.1:90/;
		}
	}

}

4、基本功能

1、反向代理

		location /prod-api/{
			proxy_set_header Host $http_host;
			proxy_set_header X-Real-IP $remote_addr;
			proxy_set_header REMOTE-HOST $remote_addr;
			proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
			proxy_pass http://127.0.0.1:90/;
		}

2、负载均衡

    # 监听后端接口服务 -可用于分布式部署 
    #策略:权重、轮询
    # weight不相等,就是权重
    # weight相等,就是轮询
    upstream api_server{
        server 127.0.0.1:9001 weight=10;
        server 127.0.0.1:9002 weight=10;
    }
    
    # 监听后端接口服务 -可用于分布式部署 
    #策略:IPhash
    upstream api_server_v2{
        ip_hash
        server 127.0.0.1:9001;
        server 127.0.0.1:9002;
    }
    

3、代理静态页面

    server {
        listen       80;
        server_name  static.wss.com;

        location /localfile {        
            # root /root/local/aaaa;
            alias  /root/local/aaaa;
        }
    }

两种配置:root、alias
1、root:root目录+匹配的url+后面的url
客户端请求 /localfile/20230618132700.png 的时候,Nginx把请求映射为 /root/local/aaaa/localfile
如:
http://static.wss.com/localfile/20230618132700.png
–》/root/local/aaaa/localfile/20230618132700.png

2、alias:alias目录+后面的url
客户端请求 /localfile/20230618132700.png 的时候,Nginx把请求映射为 /root/local/aaaa
如:
http://static.wss.com/localfile/20230618132700.png
–》/root/local/aaaa/20230618132700.png

总结:最大的区别就是,root会把匹配的url添加到root的后面,而alias则不会把匹配的url添加到后面

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值