Nginx笔记
安装nginx
wget -c https://nginx.org/download/nginx-1.20.1.tar.gz
1、创建软链路
ls /usr/local/nginx/sbin/nginx /usr/bin/
2、前端部署配置 Conf
在这里插入图片描述
3、启动服务
由于软链路 可以直接
nginx 启动(任意目录)
停止
nginx -s quit
4、用nginx实现tcp代理,并实现负载均衡
upstream mysqld {hash $remote_addr consistent;server 192.168.1.42:3306 weight=5 max_fails=1 fail_timeout=10s;server 192.168.1.43:3306 weight=5 max_fails=1 fail_timeout=10s;}server {listen 3306;proxy_connect_timeout 1s;proxy_timeout 3s;proxy_pass mysqld;
}
5、安装nginx
(1)wget -c https://nginx.org/download/nginx-1.20.1.tar.gz
第二步:配置nginx安装所需的环境
- 安装gcc
安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境。安装指令如下:
yum install gcc-c++
1
2. 安装PCRE pcre-devel
Nginx的Rewrite模块和HTTP核心模块会使用到PCRE正则表达式语法。这里需要安装两个安装包pcre和pcre-devel。第一个安装包提供编译版本的库,而第二个提供开发阶段的头文件和编译项目的源代码。安装指令如下:
yum install -y pcre pcre-devel
1
3.安装zlib
zlib库提供了开发人员的压缩算法,在Nginx的各种模块中需要使用gzip压缩。安装指令如下:
yum install -y zlib zlib-devel
1
4.安装Open SSL
nginx不仅支持 http协议,还支持 https(即在 ssl 协议上传输 http),如果使用了 https,需要安装 OpenSSL 库。安装指令如下:
yum install -y openssl openssl-devel
1
第三步:解压nginx压缩包并安装
将压缩包进行解压,解压指令还是写一下吧:
tar -zxvf nginx-1.20.1.tar.gz
安装到指定路径
./configure \--prefix=/usr/local/web-nginx \--sbin-path=/自定义位置/nginx \--conf-path=/自定义位置/nginx.conf \--pid-path=/自定义位置/nginx.pid \
开启ssl模块
./configure --with-http_ssl_module
安装到指定路径
./configure --prefix=/usr/local/web-nginx
指定路径配置ssl
./configure --with-http_ssl_module \
--prefix=/usr/local/yun-nginx
第四步:编译安装nginx
这里和redis的编译安装比较类似,首先在当前目录(/usr/local/nginx-1.10.1)进行编译。输入make即可
make
1
然后回车,如果编译出错,请检查是否前面的4个安装都没有问题。
编译成功之后,就可以安装了,输入以下指令:
make install
————————————————
若需要配置指定的端口 则只需在指定的端口配置ssl
listen 9967;listen 9966 ssl;server_name localhost;
2 实现tcp代理,要装stream模块
./configure --with-stream \
--prefix=/usr/local/configure-nginx```bash
make & make install
stream {server {listen 8848;proxy_pass 10.201.25.1:8848;}server {listen 8000;proxy_pass 10.201.25.1:5236;}server {listen 6379;proxy_pass 10.201.25.1:6379;}server {listen 9000;proxy_pass 10.201.25.1:9000;}server {listen 9099;proxy_pass 10.201.25.2:9909;}server {listen 10000;proxy_pass 19.15.18.83:8080;}}
设置开机自动启动
vim /etc/rc.local
把nginx路径复制进去
/usr/local/configure-nginx/sbin/nginx
3、nginx记录真实得电脑ip
location /api/ {proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_pass http://192.168.10.160:8081/;}
4、自定义https非443端口 以下是nginx.conf的配置
#user nobody;
worker_processes 1;#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;pid logs/nginx.pid;events {worker_connections 1024;
}http {proxy_headers_hash_bucket_size 1024;types_hash_bucket_size 1024;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 2000m;server {listen 8082 ssl;server_name localhost;ssl_certificate /opt/data/nginx/conf.d/ssl/server.crt;ssl_certificate_key /opt/data/nginx/conf.d/ssl/server.key;ssl_session_cache shared:SSL:1m;ssl_session_timeout 5m;ssl_ciphers HIGH:!aNULL:!MD5;ssl_prefer_server_ciphers on;if ($request_uri ~ "/actuator") {return 403;}#charset koi8-r;#access_log logs/host.access.log main;location / {root dist;if (!-e $request_filename) {rewrite ^(.*)$ /index.html?s=$1 last;break;}index index.html index.htm;}location /api/ {proxy_pass http://192.168.1.185:8081/;# 这步骤是定义https非443端口的关键proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;# 非默认端口需要添加$server_portproxy_set_header Host $host:$server_port; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_redirect off;# 这步骤是定义https非443端口的关键}location /sapi/ {proxy_pass http://192.168.1.185:8081/;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;# 非默认端口需要添加$server_portproxy_set_header Host $host:$server_port; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_redirect off;}#error_page 404 /404.html;# redirect server error pages to the static page /50x.html#error_page 500 502 503 504 /50x.html;location = /50x.html {root html;}}}
码云地址:https://gitee.com/yuisuiWork/spring_project_demo/
欢迎交流,一起进步!