
📃个人主页:编程的一拳超人
⛺️ 欢迎关注:👍点赞 👂🏽留言 😍收藏 💞 💞 💞
于高山之巅,方见大河奔涌;于群峰之上,更觉长风浩荡。 ——《人民日报》
一、查看操作系统架构下载相应的依赖,压缩包
1、查看Linux系统架构、CPU
在Linux系统中,查看系统架构和CPU信息的命令有几个常用的:
(1)uname -m
这个命令用于显示机器的硬件名称,也就是机器架构的简写。比如,x86_64 表示64位的x86架构,i686 或 i386 表示32位的x86架构。
(2)lscpu
lscpu 命令显示CPU架构信息,包括CPU的数量、每个CPU的核心数、线程数、每个核心的架构(如x86_64)、CPU的型号、CPU的运行速度等信息。这是一个非常全面的查看CPU相关信息的命令。
(3)cat /proc/cpuinfo
这个命令会显示CPU的详细信息,包括CPU型号、制造商、主频、每个CPU的缓存大小、CPU支持的技术(如虚拟化技术)等。这个命令的输出信息较多,包含了CPU的详细规格。
(4)arch
arch 命令和 uname -m 类似,也是用来显示机器的架构。不过,arch 命令的输出通常更简洁,直接显示架构名称,如 x86_64。
(5)getconf LONG_BIT
这个命令用于显示当前系统的位数,即32位(32)或64位(64)。虽然这不是直接查看CPU架构的命令,但它提供了关于系统位数的重要信息,有助于理解系统架构。
(6)dmidecode
dmidecode 命令用于查看硬件系统部件的详细信息,包括BIOS、系统、主板、处理器、内存、缓存等。对于查看CPU的详细信息(如制造商、序列号等),这个命令非常有用。不过,由于 dmidecode 需要root权限来运行,因此使用前可能需要添加 sudo。
2、根据Linux系统架构、CPU的差异进行下载相关依赖,看第二项
[root@sq3403 ~]# uname -a
Linux sq3403.novalocal 4.19.90-17.ky10.aarch64 #1 SMP Sun Jun 28 14:27:40 CST 2020 aarch64 aarch64 aarch64 GNU/Linux
二、以下是根据本系统的aarch64为例部署安装(完全离线安装)
1、安装JDK的两步:解压、配置环境变量(vi /etc/profile)
(1)解压到指定文件夹
路径位于:/usr/local/java/jdk1.8.0_411
(2)修改配置文件:vi /etc/profile
环境变量的配置
JAVA_HOME=/usr/local/java/jdk1.8.0_411
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
2、安装Nginx:由于是离线安装,需要在网上下载后相应的依赖包
(1)下载依赖
- openssl依赖,前往官网载:https://www.openssl.org/source/
- pcre2依赖下载,前往Git下载:https://github.com/PCRE2Project/pcre2/releases
- zlib依赖下载,前往Git下载:https://github.com/madler/zlib/releases
- 将准备里的nginx-1.24.0、nginx离线安装依赖复制到服务器的目录上
(2)安装依赖
- 将三个依赖全部解压。
- ①进入解压后的openssl-3.0.14的文件夹内,右键打开终端,然后执行以下命令。
# 桌面版系统需要执行这一行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
(3)安装Nginx
将上面依赖安装完成后在进行操作。
将上面准备的nginx-1.24.0解压,然后进入解压后的文件夹内。右键打开终端,执行以下命令
#桌面版系统需要执行这一行sudo su,服务器版系统不需要
sudo su
./configure && make && make install
(4)配置服务
①到根目录(文件系统里)下/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
3、服务操作
(1)启动nginx服务
- 打开终端执行以下命令。
systemctl start nginx.service
(2)停止nginx服务
- 打开终端执行以下命令。
systemctl stop nginx.service
(3)查看nginx状态
- 查看nginx状态
- 打开终端执行以下命令。
systemctl status nginx.service
(4)负载均衡配置
配置完成需要重启
(5)更换文件
- 将上面准备的nginx.conf文件(下面有完整示例)复制到根目录(文件系统里)下/usr/local/nginx/conf文件夹里,替换掉原有的。
- 然后重新启动nginx服务
(6)文件配置说明
以下都是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;
}
}
}