内网环境服务器配置(手动版)

1. 基础环境及网络配置

1.1 无网络

1.11 时区与时间同步

sudo timedatectl set-timezone Asia/Shanghai (设置时区)

sudo systemctl enable --now chronyd (启动时间同步服务)

与运维沟通,确认所需要的端口在服务器管理平台已经放行

注意服务器环境为内网时,生产环境在外网的时候,就需要做映射

如果同时还涉及到域名,则需要让该服务器对应外网与到域名所指向的ip地址一致

1.2 有网络

1.21.系统初始化与安全配置

sudo yum update -y && sudo yum upgrade -y( 更新系统及内核)

sudo yum install -y vim wget curl net-tools lsof htop git unzip chrony(安装常用工具)

1.22****网络配置(防火墙配置Firewalld))

systemctl status firewalld 查看防火墙状态

firewall-cmd --zone=public --add-port=3306/tcp --permanent (根据需求开放对应的端口)

常见的有443 6379 3306

firewall-cmd --reload 重载防火墙

2. java配置

2.1 无网络

2.11 从共享库拿到压缩包

\192.168.1.122\共享\工具2 里面找到jdk-8u381-linux-x64.tar.gz 然后通过Xftp放到/root下

2.12解压:使用解压命令解压

tar -zxvf “你的文件名” -C /usr/local

2.13配置变量

打开配置文件 vim /etc/profile

鼠标移动到最后 按i进入编辑模式

添加下列内容

export JAVA_HOME=/usr/local/jdk1.8.0_381

export PATH=JAVA_HOME/bin:PATH

添加结束后esc退出编辑模式 shfit+:wq保存

2.14 重载配置文件

source /etc/profile

2.15查看java版本 java -version

在 /usr/local 下执行 运行jar包命令(启动之前要保持mysql和redis服务开启状态)

nohup java -Dfile.encoding=utf-8 -jar lj.jar --server.port=8908 > /usr/local/null 2>&1 &

执行之后查看Java状态

ps -ef | grep java 多查几次,有问题就看 日志 ,没问题就会提示开启成功 ,之后用ip+端口测试

2.2 有网络

切换路径到/root

2.21 下载压缩包

<u>https://download.oracle.com/otn/java/jdk/8u451-b10/8a1589aa0fe24566b4337beee47c2d29/jdk-8u451-linux-x64.tar.gz?AuthParam=1746685279_f3515097ad1c354674bb5fb3177168aa</u> 要提前准备好oracle 账号和密码

根据所需要的版本下载liunx版本的tar.gz jdk

2.22解压:使用解压命令解压

tar -zxvf “你的文件名” -C /usr/local

2.23 配置变量

打开配置文件 vim /etc/profile

鼠标移动到最后 按i进入编辑模式

添加下列内容

export JAVA_HOME=/usr/local/jdk1.8.0_381

export PATH=JAVA_HOME/bin:PATH

添加结束后esc退出编辑模式 shfit+:wq保存

2.24 重载配置文件

source /etc/profile

**2.25查看java版本 java -version **

在 /usr/local 下执行 运行jar包命令(启动之前要保持mysql和redis服务开启状态)

nohup java -Dfile.encoding=utf-8 -jar lj.jar --server.port=8908 > /usr/local/null 2>&1 &

执行之后查看Java状态

ps -ef | grep java 多查几次,有问题就看 日志 ,没问题就会提示开启成功 ,之后用ip+端口测试

3. nginx配置(含ssl模块)

3.1无网络

3.11安装GCC

首先查询gcc --version 版本 可能有环境就不需要安装 (有的话直接跳过下面的gcc相关操作)

进入cd /usr/local/src/ 目录下

创建buildgcc文件夹

上传gcc安装包及相关依赖包

解压依赖包

rpm -Uvh *.rpm --nodeps --force

进入gcc目录

cd /usr/local/src/gcc-4.8.5

查看gcc是否安装成功

gcc -v

3.12 本地下载其他依赖库 并放到/root 目录下

Prce下载地址 https://nchc.dl.sourceforge.net/project/pcre/pcre/8.45/pcre-8.45.tar.gz?viasf=1

Zlib库下载地址 https://zlib.net/fossils/

Openssl下载地址 https://www.openssl.org/source/openssl-1.1.1w.tar.gz

3.2有网络

3.21 更换源

下载之前先换YUM源 将yum换为国内源

方法一:

备份现有源:

sudo cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

安装依赖工具

sudo yum install -y wget

下载新的源文件,指令如下:

sudo wget -O /etc/yum.repos.d/CentOS-Base.repo <u>https://mirrors.aliyun.com/repo/Centos-7.repo</u>

也可不下载

方法二:

sudo vi /etc/yum.repos.d/CentOS-Base.repo

然后直接复制下内容:

CentOS-Base.repo

The mirror system uses the connecting IP address of the client and the

update status of each mirror to pick mirrors that are updated to and

geographically close to the client. You should use this for CentOS updates

unless you are manually picking other mirrors.

If the mirrorlist= does not work for you, as a fall back you can try the

remarked out baseurl= line instead.

[base]

name=CentOS-$releasever - Base - mirrors.aliyun.com

failovermethod=priority

baseurl=http://mirrors.aliyun.com/centos/releasever/os/basearch/

    http://mirrors.aliyuncs.com/centos/$releasever/os/$basearch/

    http://mirrors.cloud.aliyuncs.com/centos/$releasever/os/$basearch/

gpgcheck=1

gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

released updates

[updates]

name=CentOS-$releasever - Updates - mirrors.aliyun.com

failovermethod=priority

baseurl=http://mirrors.aliyun.com/centos/releasever/updates/basearch/

    http://mirrors.aliyuncs.com/centos/$releasever/updates/$basearch/

    http://mirrors.cloud.aliyuncs.com/centos/$releasever/updates/$basearch/

gpgcheck=1

gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

additional packages that may be useful

[extras]

name=CentOS-$releasever - Extras - mirrors.aliyun.com

failovermethod=priority

baseurl=http://mirrors.aliyun.com/centos/releasever/extras/basearch/

    http://mirrors.aliyuncs.com/centos/$releasever/extras/$basearch/

    http://mirrors.cloud.aliyuncs.com/centos/$releasever/extras/$basearch/

gpgcheck=1

gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

additional packages that extend functionality of existing packages

[centosplus]

name=CentOS-$releasever - Plus - mirrors.aliyun.com

failovermethod=priority

baseurl=http://mirrors.aliyun.com/centos/releasever/centosplus/basearch/

    http://mirrors.aliyuncs.com/centos/$releasever/centosplus/$basearch/

    http://mirrors.cloud.aliyuncs.com/centos/$releasever/centosplus/$basearch/

gpgcheck=1

enabled=0

gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

contrib - packages by Centos Users

[contrib]

name=CentOS-$releasever - Contrib - mirrors.aliyun.com

failovermethod=priority

baseurl=http://mirrors.aliyun.com/centos/releasever/contrib/basearch/

    http://mirrors.aliyuncs.com/centos/$releasever/contrib/$basearch/

    http://mirrors.cloud.aliyuncs.com/centos/$releasever/contrib/$basearch/

gpgcheck=1

enabled=0

gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

保存退出,操作如下:

1、按Esc

2、输入:wq!

3、按Enter

方法三:

配置公共DNS(如Google DNS):

echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf

echo "nameserver 8.8.4.4" | sudo tee -a /etc/resolv.conf

更换CentOS镜像源

sudo sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*

sudo sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*

生成缓存

配置新的源后,需要清理yum的旧缓存并生成新缓存,指令如下:

sudo yum clean all

sudo yum makecache

检查新源

输入以下指令:yum repolist

[图片上传失败...(image-205f36-1748590217020)]

如果输出中包含了阿里源,则证明已换源成功。

更新系统 yum -y update

GCC安装

yum -y install gcc gcc-c++ autoconf make

直接在/root目录下执行

3.22下载相关依赖和 nginx 压缩包

wget https://nchc.dl.sourceforge.net/project/pcre/pcre/8.45/pcre-8.45.tar.gz

wget https://zlib.net/fossils/zlib-1.3.1.tar.gz

wget https://www.openssl.org/source/openssl-1.1.1w.tar.gz

在线下载比较慢,建议迅雷下载放到服务器上

wget https://nginx.org/download/nginx-1.24.0.tar.gz

3.23 Openssl安装配置

安装构建工具和依赖

yum install -y gcc gcc-c++ make zlib-devel pcre-devel geoip-devel epel-release perl-IPC-Cmd perl-Test-Simple

安装之后执行以下命令查看是否安装成功

gcc --version

g++ --version

make --version

rpm -q zlib-devel pcre-devel GeoIP-devel perl-IPC-Cmd perl-Test-Simple

因下载之后的步骤都一致所以放在下面一起写

解压

执行 tar -zxvf nginx-1.24.0.tar.gz -C /usr/local/src

tar -zxvf openssl-1.1.1w.tar.gz -C /usr/local/src

tar -zxvf pcre-8.45.tar.gz -C /usr/local/src

tar -zxvf zlib-1.3.1.tar.gz -C /usr/local/src

openssl编译安装

进入 openssl-1.1.1w 目录

编译

./config --prefix=/usr/local/openssl-1.1.1w \

     --openssldir=/usr/local/openssl-1.1.1w/ssl \

     no-shared

可能提示需要perl 5库

和上面一样将perl 压缩包放到/root下

tar -zxvf perl.xxx.tar.gz -C /usr/local/src

进入 perl 文件夹cd /perl

编译 ./Configure -des -Dprefix=/usr/local/perl

make

make install安装

安装

make

make install

查看版本 验证是否安装成功

/usr/local/openssl-1.1.1w/bin/openssl version

可能直接查出来版本还是系统自带的,可以按下面步骤操作

备份旧版本

sudo mv /usr/bin/openssl /usr/bin/openssl.old

步骤2:创建符号链接指向新版本

sudo ln -s /usr/local/openssl-1.1.1w/bin/openssl /usr/bin/openssl

更新动态库链接

echo "/usr/local/openssl/lib" | sudo tee /etc/ld.so.conf.d/openssl.conf

sudo ldconfig

验证版本

openssl version

应显示 1.1.1w

** pcre编译安装**

编译

./configure --prefix=/usr/local/pcre-8.45 \

        --enable-utf8 \

        --enable-unicode-propertie

安装

make

make install

zlib 编译安装

进入到 /usr/local/src/zlib-1.3.1下

编译 ./configure --prefix=/usr/local/zlib

安装

make

make install

如果安装到自定义路径(如 /usr/local/zlib),需更新链接库配置:

echo '/usr/local/zlib/lib' | sudo tee /etc/ld.so.conf.d/zlib.conf

sudo ldconfig

nginx编译安装

进入到 /usr/local/src/nginx1.24.0下

编译

./configure \

--prefix=/usr/local/nginx1.24.0 \

--with-http_ssl_module \

--with-openssl=/usr/local/src/openssl-1.1.1w \

--with-openssl-opt="no-shared" \

--with-pcre=/usr/local/src/pcre-8.45 \

--with-zlib=/usr/local/src/zlib-1.3.1

make

make install

进入 nginx1.24.0/sbin

./nginx 启动 打开网页 服务器ip测试nginx启动成功

如果使用 --with-openssl-opt="no-shared",需在 OpenSSL 配置时启用静态库:

cd /usr/local/src/openssl-1.1.1w

./config --prefix=/usr/local/openssl-1.1.1w no-shared

证书配置

1.****创建一个目录用于存放证书文件:

sudo mkdir -p /usr/local/nginx1.24.0/conf/ssl

cd /usr/local/nginx1.24.0/conf/ssl

2. 生成私钥

生成一个 2048 位的 RSA 私钥(可以调整为 4096 位以增强安全性):

sudo openssl genrsa -out testyw.key 2048

3. 生成自签名证书

使用 CSR 文件生成自签名证书,有效期为 365 天(可以调整天数):

openssl req -x509 -new -key testyw.key -days 365 -out testyw.crt \

-subj "/C=CN/ST=Beijing/L=Beijing/O=Your Company/CN=your_domain.com"生成的 yourdomain.crt 和 yourdomain.key 文件非常重要,请妥善保存并定期备份。

如果有证书配置看下面 nginx配置案例

server {

    listen        443 ssl;

    server_name  szmp.zhihuiwuxue.com;

ssl_certificate_key cert/zhihuiwuxue.com.key;

    ssl_certificate  cert/zhihuiwuxue.com.pem;

    ssl_session_timeout  5m;

ssl_protocols TLSv1.2 TLSv1.3;

ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;

    ssl_prefer_server_ciphers on;

    location /api {

rewrite ^/api/(.*)/1 break;

add_header 'Access-Control-Allow-Origin' $http_origin;

add_header 'Access-Control-Allow-Credentials' 'true';

add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';

add_header 'Access-Control-Allow-Headers' 'DNT,web-token,app-token,Authorization,Accept,Origin,Keep-Alive,User-Agent,X-Mx-ReqToken,X-Data-Type,X-Auth-Token,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';

add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';

if ($request_method = 'OPTIONS') {

add_header 'Access-Control-Max-Age' 1728000;

add_header 'Content-Type' 'text/plain; charset=utf-8';

add_header 'Content-Length' 0;

return 204;

}

root html;

index index.html index.htm;

proxy_pass http://172.20.100.67:8501;

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_set_header X-Forwarded-Proto $scheme;

proxy_connect_timeout 5;

    }

}

证书的相关文件放在/conf/cert目录下

这样配置的证书,主要用于测试

配置局域网设备的域名解析

其他设备需将域名解析到服务器的局域网 IP。

在每台设备的 hosts 文件中添加:

Windows: C:\Windows\System32\drivers\etc\hosts

Linux/macOS: /etc/hosts

192.168.1.100 your_domain.com

4. redis配置

无网络

上传\192.168.1.122\共享\工具2\linux安装部署\redis离线下的redis-3.2.12-2.el7.x86_64.rpm和jemalloc-3.6.0-1.el7.x86_64.rpm 到服务器的/usr/local/src 及 redis-5.0.4.tar.gz 到/root

1. **安装相关依赖 **

执行 rpm -ivh jemalloc-3.6.0-1.el7.x86_64.rpm

rpm -ivh redis-3.2.12-2.el7.x86_64.rpm 安装命令

有网络

1.下载 压缩包

wget http://download.redis.io/releases/redis-5.0.4.tar.gz

下载好后的操作 都一致 所以都放在下面

2. 解压压缩包

tar -xzvf redis-5.0.4.tar.gz -C /usr/local 指定解压到/usr/local 目录下

3. 安装redis

cd /usr/local /redis-5.0.4

make

make install

4. 配置 redis

默认安装目录是在 /usr/local/bin

cd /usr/local/bin

可以复制redis配置文件到bin目录下

cp /usr/local/redis-5.0.4/redis.conf ./

4.1编辑配置文件

vim redis.conf或者 vi redis.conf

1.daemonize no --->yes 允许后台启动

2.bind 127.0.0.0 ---> 0.0.0.0 允许远程访问

3.加一个requirepass 123456 设置123456密码

启动redis(在/usr/local/bin)下执行

./redis-server redis.conf 启动

redis-cli auth 123456

输入shutdown 停止 redis

可选配置:(配置开机自启动)

使用root权限创建服务文件:

sudo vim /etc/systemd/system/redis.service

输入以下内容(根据你的路径调整):

[Unit]

Description=Redis In-Memory Data Store

After=network.target

[Service]

Type=forking

ExecStart=/usr/local/bin/redis-server /usr/local/bin/redis.conf

ExecStop=/usr/local/bin/redis-cli shutdown

User=redis

Group=redis

Restart=always

RuntimeDirectory=redis

RuntimeDirectoryMode=0755

[Install]

WantedBy=multi-user.target

步骤2:创建Redis专用用户(可选但推荐)

sudo useradd -r -M -s /bin/false redis

sudo chown -R redis:redis /usr/local/redis-5.0.4

调整配置文件权限

确保配置文件可被Redis用户读取:

sudo chmod 644 /usr/local/bin/redis.conf

重载Systemd并启用服务

sudo systemctl daemon-reload

sudo systemctl enable redis

sudo systemctl start redis

systemctl status redis

提示:如果配置开机自启动,就需要通过systemctl stop redis 停止,不能通过shutdown,暂时没有更好的解决方法。

启动后使用本机RDM 链接测试

5. mysql配置

5.1 准备工作:先查询是否安装了mysql

查询是否安装了自带的数据库

rpm -qa |grep mariadb 有的话卸载相关数据库

rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64

sudo yum remove -y mariadb-server mariadb

sudo yum remove -y mysql-server mysql-community-server

特殊情况:允许 MySQL 与其他数据库共存

如果希望保留现有数据库(如 MariaDB),需确保两者使用不同的端口和数据目录:

修改 MySQL 配置文件 /etc/my.cnf,调整端口和路径:

[mysqld]

port=3307 # 改为新端口

datadir=/var/lib/mysql-mysql8 # 改为新路径

初始化数据库时指定新路径:

sudo mysqld --initialize --user=mysql --datadir=/var/lib/mysql-mysql8

安装相关依赖

yum install -y perl net-tools

无网络

1.上传压缩包

将压缩包通过Xftp传到 服务器 /usr/local/ 中

有网络

1.系统准备

1. 更新系统软件包

sudo yum update -y

2. 安装必要工具(wget、vim等)

sudo yum install -y wget vim perl net-tools

  1. 下载压缩包

执行

wget <u>https://cdn.mysql.com/archives/mysql-8.0/mysql-8.0.34-linux-glibc2.12-x86_64.tar.xz</u>

因下载后的操作一致,所以都放在下面

2.解压压缩包

解压到/usr/local目录并重命名文件夹

创建目标目录

sudo mkdir -p /usr/local/mysql

sudo mkdir -p /data/mysql # 数据目录

解压安装包

sudo tar -xvf mysql-8.0.34-linux-glibc2.12-x86_64.tar.xz --transform 's/mysql-8.0.34-linux-glibc2.12-x86_64/mysql/' -C /usr/local

3.****创建MySQL用户和组

groupadd mysql

useradd -r -g mysql -s /bin/false mysql

4.设置目录权限

sudo chown -R mysql:mysql /usr/local/mysql

sudo chown -R mysql:mysql /data/mysql

进入MySQL目录

cd /usr/local/mysql

初始化数据库(生成临时密码)

cd /usr/local/mysql

sudo bin/mysqld --initialize --user=mysql \

--basedir=/usr/local/mysql \

--datadir=/data/mysql

可能会提示缺少 libaio.so.1 库

这是要执行命令查看系统信息

可以通过

<u>https://vault.centos.org/7.9.2009/os/x86_64/Packages/libaio-0.3.109-13.el7.x86_64.rpm</u> 下载对应版本的库,进行安装

rpm -ivh libaio-*.rpm

可以访问外网就直接sudo yum install libaio 可以下载安装 比较方便。

初始化完成后,记录输出的临时密码(或查看错误日志中的密码):

hgupZPa_)5EG

grep 'temporary password' /var/lib/mysql/error.log

**5.****配置MySQL服务******

创建配置文件****/etc/my.cnf****:

sudo tee /etc/my.cnf <<EOF

[mysqld]

# 基础路径配置

basedir=/usr/local/mysql

datadir=/data/mysql

socket=/tmp/mysql.sock

# 网络配置

port=3306

bind-address=0.0.0.0

# 字符集配置

character-set-server=utf8mb4

collation-server=utf8mb4_unicode_ci

# 日志配置

log-error=/data/mysql/error.log

pid-file=/data/mysql/mysql.pid

# 安全配置

skip-name-resolve

EOF

创建必要目录并授权

sudo mkdir -p /data/mysql/{data,logs}

sudo chown -R mysql:mysql /data/mysql

创建Systemd服务文件 /etc/systemd/system/mysql.service

sudo tee /etc/systemd/system/mysql.service <<EOF

[Unit]

Description=MySQL Server

After=network.target

[Service]

Type=simple

User=mysql

Group=mysql

ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf

Restart=on-failure

RestartSec=5s

资源限制(可选)

LimitNOFILE=65535

[Install]

WantedBy=multi-user.target

EOF

重新加载服务配置

systemctl daemon-reload

systemctl start mysql

systemctl enable mysql 设置开启启动

6.****登录MySQL并修改密码

使用临时密码登录

mysql -u root -p

输入临时密码后,执行以下命令修改密码

ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';

FLUSH PRIVILEGES;

退出MySQL后,使用新密码重新登录

mysql -u root -p

常见问题处理

1. 安装时提示版本冲突

如果仓库中默认指向更高版本(如 8.0.36),需手动禁用默认仓库并启用旧版本子仓库:

编辑仓库配置文件

sudo vi /etc/yum.repos.d/mysql-community.repo

禁用默认仓库(设置 enabled=0)

启用特定子仓库(如 mysql80-community)

2. 忘记 root 密码

停止 MySQL 服务

sudo systemctl stop mysqld

以跳过权限验证方式启动

sudo mysqld_safe --skip-grant-tables &

登录后更新密码

mysql -u root

mysql> FLUSH PRIVILEGES;

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';

附录:手动下载 RPM 包(备用方法)

如果仓库中没有所需版本,可手动下载并安装:

下载 MySQL 8.0.34 社区版 RPM 包

wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-community-server-8.0.34-1.el7.x86_64.rpm

安装依赖

sudo yum install -y openssl libaio numactl

安装 MySQL

sudo rpm -ivh mysql-community-server-8.0.34-1.el7.x86_64.rpm

可选:配置环境变量

将MySQL二进制路径添加到PATH

echo 'export PATH=/usr/local/mysql/bin:$PATH' >> /etc/profile

source /etc/profile

开放端口

firewall-cmd --add-port=3306/tcp --permanent

firewall-cmd --reload

启动mysql

service mysql start

查看MySQL的进程 ps -ef|grep mysql

service mysql status

开启mysql允许远程访问

查看所有数据库

show databases;

use mysql;

执行update user set host='%' where user='root';

开启任何主机都能远程访问MySQL

执行FLUSH PRIVILEGES;刷新权限

端口相关问题汇总:

先统计需要用的端口,汇总到运维,待运维给出开放通知后,到服务器 查看服务器内部防火墙开启状态,因为先要确认端口开通成功,建议先关闭防火墙,直接使用nginx监听开放端口,如果可以监听成功则说明运维开放端口成功无误。

firewall-cmd --zone=public --remove-port=9001/tcp --permanent 关闭端口

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容