1. 下载nginx离线安装包
前往官网下载离线压缩包
2. 下载3个依赖
- openssl依赖,前往 官网下载
- pcre2依赖下载,前往Git下载
- zlib依赖下载,前往Git下载
下载完成后完整的包如下:
如果网速下载不到请使用网盘下载
通过网盘分享的文件:nginx
链接: https://pan.baidu.com/s/1BUHbrEg29Hr0lz-SQFZHMQ?pwd=mgyv 提取码: mgyv
3. 先安装依赖
将三个依赖全部解压。tar -zxvf + 包名称
- 进入解压后的
openssl-3.4.0
的文件夹内,右键打开终端,然后执行以下命令。
./config && make && make install
- 进入解压后的
pcre2-10.44
的文件夹内,右键打开终端,然后执行以下命令
./configure && make && make install
- 进入解压后的
zlib-1.3.1
的文件夹内,右键打开终端,然后执行以下命令
./configure && make && make install
4. 再安装nginx
- 将上面依赖安装完成后在进行操作。
- 将上面准备的
nginx-1.24.0
解压,然后进入解压后的文件夹内。右键打开终端,执行以下命令
./configure && make && make install
4.1. 配置服务
- 到根目录下
/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
4.2. 验证
启动后在浏览器输入ip地址,如下图即可
5. 操作
5.1. 服务操作
5.1.1. 启动nginx服务
打开终端执行以下命令。
systemctl start nginx.service
5.1.2. 停止nginx服务
打开终端执行以下命令。
systemctl stop nginx.service
5.1.3. 查看nginx状态
打开终端执行以下命令。
systemctl status nginx.service
5.2. 负载均衡配置
- 配置完成需要重启
5.3. 更换文件
- 将上面准备的
nginx.conf
文件(下面有完整示例)复制到根目录(文件系统里)下/usr/local/nginx/conf
文件夹里,替换掉原有的。 - 然后重新启动nginx服务
文件配置说明:
以下是完整配置(去掉了多余的)
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;
}
}
}
-
worker_processes
:CPU核心数默认为1。可以设置为4,调高就行 -
events
: -
worker_connections
:允许同时建立外部连接的数量。可以调整为100000
(10万)
-
http
-
upstream
:设置Tomcat
服务地址。括号里可以增加多个server
-
-
server
:一个server
代表一个Tomcat服务地址。组成是Tomcat
的地址跟端口号,不用带项目名称。根据示例按照需要增加server
。
-
-
server
:
-
-
listen
:设置监听的端口。如果检测站配置的接口地址中是8080,这里就修改成8080。(注意不要与Tomcat端口重复,否则起不来)
at服务地址。括号里可以增加多个
server`
-
-
-
server
:一个server
代表一个Tomcat服务地址。组成是Tomcat
的地址跟端口号,不用带项目名称。根据示例按照需要增加server
。
-
-
server
:
-
-
listen
:设置监听的端口。如果检测站配置的接口地址中是8080,这里就修改成8080。(注意不要与Tomcat端口重复,否则起不来)server_name
:服务名称。可以修改成实际IP
-
6. 遇到的问题
需要去除斜杠,否则加载不到index.html
减配原文带有斜杠的
location / {
root /usr/local/nginx/html;
index index.html index.htm;
try_files \$uri \$uri/ /index.html;
}
修改后的
location / {
root /usr/local/nginx/html;
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
其他linux系统环境安装
Linux x86_64离线安装Nginx全教程(含安装包)