一、制作模板机(配置yum仓库)
-
将RockyLinux8.6使用安装完成的快照还原,开机,将主机名修改为template
-
将防火墙关闭且设置为开机不自动启动,将SElinux永久设置为Disabled(后续作为模板机克隆其他虚拟机)
-
将RockyLinux8.6再次以当前状态拍摄快照"模板机"
-
为模板机配置本地yum仓库
1.初始机操作
[root@localhost ~]# hostnamectl set-hostname template #修改主机名(重新打开终端生效) [root@template ~]# systemctl stop firewalld #停止防火墙服务 [root@template ~]# systemctl disable firewalld #将防火墙服务设置为开机不自启动
[root@template ~]# vim /etc/selinux/config #修改文件,修改SElinux状态 1 2 # This file controls the state of SELinux on the system. 3 # SELINUX= can take one of these three values: 4 # enforcing - SELinux security policy is enforced. 5 # permissive - SELinux prints warnings instead of enforcing. 6 # disabled - No SELinux policy is loaded. 7 SELINUX=disabled #将第7行=后边修改为disabled ... [root@template ~]# reboot #重启 [root@template ~]# getenforce #查看SElinux状态为disabled [root@template ~]# poweroff #关机即可
2.配置本地yum仓库
[root@template ~]# mkdir /mydvd #创建挂载点 [root@template ~]# vim /etc/fstab #编写挂载文件 ...此处省略一万字,在最后一行追加下方内容,注意空格... /dev/cdrom /mydvd iso9660 defaults 0 0 [root@template ~]# mount -a #刷新文件
[root@template ~]# mkdir /etc/yum.repos.d/bak/ [root@template ~]# mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak #备份,*代表通配符 [root@template ~]# vim /etc/yum.repos.d/mydvd.repo [AppStream] #指定源名称 name=AppStream #指定源描述信息 baseurl=file:///mydvd/AppStream/ #指定仓库地址 enabled=1 #启用该仓库 gpgcheck=0 #不做签名认证 [BaseOS] #指定源名称 name=BaseOS #指定源描述信息 baseurl=file:///mydvd/BaseOS/ #指定仓库地址 enabled=1 #启用该仓库 gpgcheck=0 #不做签名认证
[root@javasv-A ~]# dnf clean all #清空缓存 [root@javasv-A ~]# dnf repolist -v #查看目前仓库状态
二、Nginx项目部署
1.database数据库服务器
[root@database ~]# dnf -y install bash-completion #安装tab键(退出重新连接生效) [root@database ~]# dnf -y install lrzsz #安装上传下载功能
[root@database ~]# dnf -y install mysql-server mysql #安装MySQL数据库软件 [root@database ~]# systemctl start mysqld #启动数据库服务 [root@database ~]# systemctl enable mysqld #将数据库服务设置为开机自启动 [root@database ~]# ss -nutlp | grep :3306 #查看数据库端口
修改MySQL数据库root用户密码为123qqq...A
[root@database ~]# mysqladmin -uroot password "123qqq...A"
将数据库文件(ivos.sql)上传至database云主机的/root目录中,使用ivos.sql文件还原数据
[root@database ~]# mysql -uroot -p'123qqq...A' < /root/ivos.sql #使用SQL文件还原数据 [root@database ~]# mysql -uroot -p'123qqq...A' #进入MySQL数据库
mysql> SHOW DATABASES ; mysql> SHOW TABLES FROM ivos;
授权业务用户:ivos,密码为:123qqq...A
mysql> CREATE USER ivos@'localhost' IDENTIFIED BY '123qqq...A'; mysql> CREATE USER ivos@'%' IDENTIFIED BY '123qqq...A'; mysql> GRANT ALL ON ivos.* TO ivos@'localhost'; mysql> GRANT ALL ON ivos.* TO ivos@'%'; mysql> FLUSH PRIVILEGES; mysql> EXIT; #刷新授权表
部署redis数据库服务,密码为123456
[root@database ~]# dnf -y install redis #安装redis [root@database ~]# vim /etc/redis.conf #修改配置文件 69 bind 0.0.0.0 #允许被所有主机访问 507 requirepass 123456 #指定密码为123456 [root@database ~]# systemctl start redis #启动redis服务 [root@database ~]# systemctl enable redis #将服务设置为开机自启动 [root@database ~]# ss -nutlp | grep :6379 #查看redis端口号
[root@database ~]# redis-cli #连接redis 127.0.0.1:6379> ping #没有输入密码,所以失败 (error) NOAUTH Authentication required. 127.0.0.1:6379> AUTH 123456 #输入密码 OK 127.0.0.1:6379> ping #成功 PONG 127.0.0.1:6379> exit #退出
2.部署后端服务compile服务器
在compile主机部署后端服务,将后端服务打成jar包,再将jar包拷贝至javaserver服务器
[root@compile ~]# dnf -y install bash-completion #安装tab键(退出重新连接生效) [root@compile ~]# dnf -y install lrzsz #安装上传下载功能 [root@compile ~]# dnf -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel maven
修改maven配置文件,配置阿里云镜像仓库
[root@compile ~]# vim /etc/maven/settings.xml ...此处省略一万字... 159 <mirror> <!-- 配置阿里云镜像仓库 --> 160 <id>alimaven</id> 161 <name>aliyun maven</name> 162 <url>http://maven.aliyun.com/nexus/content/groups/public/</url> 163 <mirrorOf>central</mirrorOf> 164 </mirror> ...此处省略一万字...
将carfb.tar.gz(里面放的是ivos和ivos-web,项目的前端和后端)上传至compile主机的/root目录。这里需要在将压缩包解压后,cd到后端项目的配置文件里确保数据库、redis等软件的端口以及密码正确。以及修改图片等文件存储路径。
[root@compile ~]# tar -xf /root/carfb.tar.gz [root@compile ~]# cd /root/ivos [root@compile ~]# rm -rf target/ivos-0.0.1-SNAPSHOT.jar #删除原有的jar包 [root@compile ivos]# mvn clean package -Dmaven.test.skip=true #此命令就是在打jar包
将jar包传递至javaserver服务器
[root@compile ivos]# scp target/ivos-0.0.1-SNAPSHOT.jar root@192.168.0.9:/root/
3.部署javaserver服务器
[root@javaserver ~]# mkdir /ivosimg #创建图片存储路径 [root@javaserver ~]# dnf -y install java-1.8.0-openjdk [root@javaserver ~]# mkdir -p /opt/ivos/api #创建jar包存放目录 [root@javaserver ~]# mkdir -p /opt/ivos/log #创建日志目录 [root@javaserver ~]# chmod 777 /opt/ivos/api/ #授予权限 [root@javaserver ~]# chmod 777 /opt/ivos/log/ #授予权限
[root@javaserver ~]# cp ivos-0.0.1-SNAPSHOT.jar /opt/ivos/api/ [root@javaserver ~]# cd /opt/ivos/api/ [root@javaserver api]# nohup java -jar ivos-0.0.1-SNAPSHOT.jar &> ivos.log & [root@javaserver api]# ss -nutlp | grep java
访问测试(http://公网地址:8080),到这里后端就算部署成功了
4.部署前端服务
-
把公网IP绑定至compile主机
-
将node-v14.10.0-linux-x64.tar.gz上传至compile云主机的/root目录中
-
compile主机操作
[root@compile ~]# tar -xf node-v14.10.0-linux-x64.tar.gz #安装node [root@compile ~]# mv node-v14.10.0-linux-x64 /usr/local/node #重命名
-
修改环境变量
[root@compile ~]# vim /etc/bashrc ...此处省略1万字... export NODE_HOME="/usr/local/node/" export PATH=${NODE_HOME}/bin/:$PATH [root@compile ~]# source /etc/bashrc
[root@compile ~]# cd ivos-web [root@compile ivos-web]# npm config set registry "https://registry.npmmirror.com/" [root@compile ivos-web]# npm install [root@compile ivos-web]# npm config list [root@compile ivos-web]# npm run build
5.部署代理服务器ivosproxy
[root@ivosproxy ~]# dnf -y install bash-completion #安装tab键(退出重新连接生效) [root@ivosproxy ~]# dnf -y install lrzsz #安装上传下载功能
这里需要注意在前端配置文件中什么样的条件算是动态页面需要反向代理,即在location需要过滤的条件。
[root@ivosproxy ~]# dnf -y install nginx [root@ivosproxy ~]# vim /etc/nginx/nginx.conf ...此处省略1万字... 42 root /usr/share/nginx/html/dist; ...此处省略1万字... 47 location / { 48 try_files $uri $uri/ /index.html; 49 } 50 51 location /api/ { 52 proxy_pass http://192.168.0.9:8080/; 53 } ...此处省略1万字...
[root@ivosproxy ~]# systemctl start nginx #启动服务 [root@ivosproxy ~]# systemctl enable nginx #将服务设置为开机自启 [root@ivosproxy ~]# ss -nutlp | grep :80 #查看端口号
-
把公网IP绑定之compile主机,将前端页面上传至ivosproxy主机的/usr/share/nginx/html/
[root@compile ivos-web]# scp -r dist/ root@192.168.0.8:/usr/share/nginx/html