绝对内网挂载本地镜像源,离线源码编译安装Nginx、MySQL、Redis、Java(JDK),配置开机自动启动。
文章目录
一、挂载本地镜像源
我们常用的操作是直接用VMware添加一个光驱镜像,但这里不能这样做,因为我们只能SSH远程服务器,没有操作云管理的权限。
建议使用以下两款软件完成上传工作
上传文件列表如下
loadcentosLocalMirror.sh文件内容如下:
#!/bin/bash
export LANG=en_US.utf8
export LC_ALL=en_US.utf8
echoError() {
echo -e $"\e[43;31;5m "$1"\e[0m"; }
Current_DIR="$(cd "$(dirname "${
BASH_SOURCE[0]}")" && pwd)"
JAVA_HOME=$Current_DIR/e-monitor/JDK
ip=$(ip -o route get to 223.5.5.5 | sed -n 's/.*src \([0-9.]\+\).*/\1/p')
# centos7 or redhat7
mkdir -p /os/iso && mount -t iso9660 $Current_DIR/CentOS-7-x86_64-DVD-2009.iso /os/iso
mkdir -p /etc/yum.repos.d/bak && mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak
cat >/etc/yum.repos.d/local.repo <<EOF
[base]
name = "Centost7 HTTP YUM"
baseurl = file:///os/iso
gpgcheck = 0
enabled = 1
EOF
yum clean all && yum makecache fast >/dev/null 2>&1
echo "loadLocalMirrorSucess!!welcome https://blog.csdn.net/xzzteach"
执行脚本命令,并使用yum install tree 测试(重启后需要再次挂载)
sh loadcentosLocalMirror.sh
yum install tree
二、获取源码包
所有源码包地址如下:
https://download.csdn.net/download/xzzteach/89696738
将整个压缩包上传到如下位置并解压
三、安装常用及依赖工具
#方便服务器维护工具
#目录结构树tree、#文件编辑器vim、#解压缩工具tar、#安装rz上传工具lrzsz、#分区工具fdisk、#编译工具gcc

yum -y install tree vim tar lrzsz fdisk gcc
#编译依赖汇总
yum -y install make git boost
#nginx依赖汇总
#PCRE库用于支持Nginx的URL重写功能、openssl-devel #安装OpenSSL库
yum -y install pcre pcre-devel openssl openssl-devel
#mysql编译依赖汇总
yum -y install -y gcc gcc-c++ make cmake tar openssl openssl-devel ncurses ncurses-devel bison libarchive libtirpc-devel
四、安装Nginx
1. 解压配置
cd /home/WF/linuxSourcePackage/
tar -xzvf nginx-1.24.0.tar.gz
cd nginx-1.24.0
./configure --prefix=/usr/local/nginx --with-http_ssl_module
2. 编译安装
make && make install
cd /usr/lcoal/nginx/
tree -L 2 #查看目录结构
3. 配置防火墙
nginx默认80端口,添加到防火墙,永久生效
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload
firewall-cmd --list-ports
4. 注册服务
vim /etc/systemd/system/nginx.service
内容如下
[Unit]
Description=nginx service
After=network.target
[Service]
User=root
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
ExecStartPre=/bin/sleep 10
[Install]
WantedBy=multi-user.target
5. 添加代理(此处根据需要,请勿照搬)
vim /usr/local/nginx/conf/nginx.conf
内容如下:
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;
rewrite ^/api/(.*)$ /$1 break;
proxy_pass http://127.0.0.1:8532;
}
6. 配置开机启动
systemctl daemon-reload # 重新加载systemd守护进程,以便识别新的服务
systemctl enable nginx # 启用服务,使其在系统启动时自动启动
systemctl start nginx # 启动服务
浏览器访问IP,如下说明成功了
五、安装MySQL
1. 检查是否装有mariadb(Centos7.9默认安装)并卸载它
yum list installed | grep mariadb
yum erase mariadb mariadb-server mariadb-libs mariadb-devel -y
find / -name mysql*
rm -rf /usr/local/mysql /usr/local/mysql/bin/mysql
rm -rf /data/mysql/
rm -rf /etc/my.cnf
rm -rf /etc/systemd/system/mysql.service
rm -rf /etc/systemd/system/mysqld.service
2. 安装net-tools
yum install net-tools
3. 使用离线安装rpm包
cd /home/WF/linuxSourcePackage/mysql-5.7.44-1.el7.x86_64.rpm-bundle
rpm -ivh mysql-community-common*
rpm -ivh mysql-community-libs*
rpm -ivh mysql-community-client*
rpm -ivh mysql-community-server*
4. 设置mysqld开机启动
systemctl enable mysqld
5. 查看默认密码
grep 'temporary password' /var/log/mysqld.log
6. 登录mysql
mysql -uroot -p
7. 检查密码策略:
SHOW VARIABLES LIKE 'validate_password%';
SET GLOBAL validate_password_policy = LOW; -- 将密码策略级别设置为LOW
8. 修改密码
alter user root@'localhost'identified by'openEuler@123';
9. 创建用户
CREATE USER 'mashang'@'localhost' IDENTIFIED BY 'LfejfWZzkWeZepfc';
10. 创建数据库
CREATE DATABASE mashang CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
11. 授权数据库
GRANT ALL PRIVILEGES ON mashang.* TO 'mashang'@'%';
- 授权所有权限:GRANT ALL PRIVILEGES 表示授予所有操作权限。
- 指定数据库和表:ON mashang.* 指定了权限作用于mashang数据库的所有表。
- 指定用户和来源:TO ‘mashang’@‘%’ 指定了权限授予给mashang用户,且该用户可以从任何主机(由%表示)连接。
六、安装Redis
1. 解压
cd /home/WF/linuxSourcePackage
tar -xzvf redis-7.2.4.tar.gz
cd redis-7.2.4
2. 编译并安装
make && make install
编译时出现问题时,可以使用make distclean指令清理
直接make install(默认安装到/usr/local/bin目录下),这里我们可以使用以下指令安装到指定目录下
3. 注册服务systemd服务脚本(After=,Requires=请根据实际情况来,请勿照搬)
vim /etc/systemd/system/redis.service
内容如下:
[Unit]
Description=redis-server
After=network.target nginx.service mashang.service
Requires=nginx.service mashang.service
[Service]
Type=forking
ExecStart=/usr/local/bin/redis-server
PrivateTmp=true
Restart=on-failure
[Install]
WantedBy=multi-user.target
七、配置Java(JDK)
1. 解压并重命名文件夹
cd /home/WF/linuxSourcePackage/
tar -xzvf jdk-8u401-linux-x64.tar.gz
cp -rf jdk1.8.0_401/ /usr/local
cd /usr/local
mv -f jdk1.8.0_401 java
2. 配置环境变量
cp /etc/profile /etc/profile.bak #备份一下文件
vim /etc/profile
配置环境变量 (“=”前后请勿添加空格,否则加载时会出错)
vim /etc/profile 按 “i” 编辑文件内容,添加完内容后按“Esc”停止编辑,按“:wq”保存并退出
进入/etc/profile文件中,在末尾处
添加如下内容:
#set java environment
JAVA_HOME=/usr/local/java
JRE_HOME=$JAVA_HOME/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH
3. 生效配置文件
source /etc/profile
java -version
4. 注册服务脚本(mashang.service请勿照搬):
vim /etc/systemd/system/mashang.service
内容如下:
[Unit]
Description=Mashang Service
After=network.target nginx.service
Requires=nginx.service
[Service]
Type=simple
User=root
Group=root
ExecStart=/usr/local/java/bin/java -Xms1024m -Xmx1024m -jar /usr/local/java/bin/mashang/app.jar --server.port=8532 ----spring.profiles.active=test
[Install]
WantedBy=multi-user.target
5. 配置开机启动
systemctl daemon-reload # 重新加载systemd守护进程,以便识别新的服务
systemctl enable mashang # 启用服务,使其在系统启动时自动启动
systemctl start mashang # 启动服务
上传项目资源
1. 上传java项目资源
2. 上传nginx项目资源
九、防火墙配置(根据实际情况-选配)
sudo firewall-cmd --add-port=21/tcp --permanent #ftp
sudo firewall-cmd --add-port=22/tcp --permanent #ssh
sudo firewall-cmd --add-port=80/tcp --permanent #nginx
sudo firewall-cmd --add-port=3306/tcp --permanent #MySQL
sudo firewall-cmd --add-port=6379/tcp --permanent #redis
sudo firewall-cmd --add-port=8532/tcp --permanent #后端java使用
sudo firewall-cmd --reload
firewall-cmd --list-ports
十、项目默认自动启动,手动启动参考如下:
1. 启动nginx
systemctl start nginx
2. 启动mysql
systemctl start mysql
3. 启动java
systemctl start mashang
4. 启动redis
systemctl start redis