安装
- 前往官网下载离线压缩包
- 下载依赖
- 将准备里的
nginx-1.24.0
、nginx离线安装依赖
复制到服务器的目录上
安装依赖
-
将三个依赖全部解压。
-
进入解压后的
openssl-3.0.3
的文件夹内,右键打开终端,然后执行以下命令。#桌面版系统需要执行这一行sudo su,服务器版系统不需要 sudo su ./config && make && make install
-
进入解压后的
pcre2-10.40
的文件夹内,右键打开终端,然后执行以下命令#桌面版系统需要执行这一行sudo su,服务器版系统不需要 sudo su ./configure && make && make install
-
进入解压后的
zlib-1.2.12.
的文件夹内,右键打开终端,然后执行以下命令#桌面版系统需要执行这一行sudo su,服务器版系统不需要 sudo su ./configure && make && make install
安装nginx
-
将上面依赖安装完成后在进行操作。
-
将上面准备的
nginx-1.24.0
解压,然后进入解压后的文件夹内。右键打开终端,执行以下命令
#桌面版系统需要执行这一行sudo su,服务器版系统不需要
sudo su
./configure && make && make install
配置服务
-
到根目录(文件系统里)下
/usr/lib/systemd/system
文件夹里新建nginx.service
文件或修改现有的。[Unit] Description=nginx service After=network.target [Service] Type=forking ExecStart=/usr/local/nginx/sbin/nginx ExecReload=/usr/local/nginx/sbin/nginx -s reload ExecStop=/usr/local/nginx/sbin/nginx -s stop PrivateTmp=true [Install] WantedBy=multi-user.target
-
在终端以下命令,刷新服务配置。
systemctl daemon-reload
操作
服务操作
启动nginx服务
-
打开终端执行以下命令。
systemctl start nginx.service
停止nginx服务
-
打开终端执行以下命令。
systemctl stop nginx.service
查看nginx状态
-
打开终端执行以下命令。
systemctl status nginx.service
负载均衡配置
- 配置完成需要重启
更换文件
- 将上面准备的
nginx.conf
文件(下面有完整示例)复制到根目录(文件系统里)下/usr/local/nginx/conf
文件夹里,替换掉原有的。 - 然后重新启动nginx服务
文件配置说明:
以下都是nginx.conf
里的配置参数说明,由于名称有重复的,用层级代表参数在某个参数的括号里
-
worker_processes
:CPU核心数默认为1。可以设置为4,调高就行 -
events
:worker_connections
:允许同时建立外部连接的数量。可以调整为100000
(10万)
-
http
-
upstream
:设置Tomcat
服务地址。括号里可以增加多个server
server
:一个server
代表一个Tomcat服务地址。组成是Tomcat
的地址跟端口号,不用带项目名称。根据示例按照需要增加server
。
-
server
:-
listen
:设置监听的端口。如果检测站配置的接口地址中是8080,这里就修改成8080。(注意不要与Tomcat端口重复,否则起不来) -
server_name
:服务名称。可以修改成实际IP
-
-
以下是完整配置(去掉了多余的)
worker_processes 8; #CPU核心数默认为1。可以设置为4,调高就行
events {
worker_connections 102400;#允许同时建立外部连接的数量。可以调整为`100000`(10万)
}
http {
include mime.types;
default_type application/octet-stream;
map $time_iso8601 $logdate{
'~^(?<ymd>\d{4}-\d{2}-\d{2})' $ymd;
default 'date-not-found';
}
access_log logs/access-$logdate.log;
sendfile on;
keepalive_timeout 10;
upstream localtomcat{
ip_hash;
server 127.0.0.1:8070 max_fails=2 fail_timeout=5s weight=1;#weight 是配置服务器权重 ,越大则分配概率越大
server 127.0.0.1:8090 max_fails=3 fail_timeout=5s weight=1;
}
server {
listen 8080; #默认监听80端口,修改为8080
server_name localhost;
location /vepts {
proxy_pass http://localtomcat;
proxy_http_version 1.1;
proxy_set_header Connection "";
# nginx非80端口处理
proxy_set_header Host $host:$server_port;
# 获取真实IP
proxy_set_header X-Real-IP $remote_addr;
# 获取代理者的真实ip
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# 解决getScheme,isSecure,sendRedirect
proxy_set_header X-Forwarded-Scheme $scheme;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 1;
proxy_send_timeout 30;
proxy_read_timeout 60;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}
location ~* \.(gif|jpg|jpeg|png|css|js|ico)$ {
proxy_pass http://localtomcat;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}