当前位置: 首页 > news >正文

项目上线(若依前后分离版)

项目上线

  • 环境:操作系统centos7.6
  • 云主机:腾讯轻量云lighthouse 2核4G(现已升级为4核4G
  • 项目:开源若依分离版

1.Redis

wget https://download.redis.io/releases/redis-6.0.5.tar.gz
tar -zvxf redis-6.0.5.tar.gz -C .
#6.0.1之后需要安装升级gcc**(可以先试试只升级gcc试试)
yum install gcc-c++             
yum -y install centos-release-scl  // 安装centos-release-scl
vi /etc/yum.repos.d/CentOS-SCLo-scl.repo
修改部分:
[centos-sclo-sclo]
name=CentOS-7 - SCLo sclo
baseurl=https://mirrors.aliyun.com/centos/7/sclo/x86_64/sclo/# mirrorlist=http://mirrorlist.centos.org?arch=$basearch&release=7&repo=sclo-sclogpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLovi /etc/yum.repos.d/CentOS-SCLo-scl-rh.repo
修改部分:
[centos-sclo-rh]
name=CentOS-7 - SCLo rh
baseurl=https://mirrors.aliyun.com/centos/7/sclo/x86_64/rh/# mirrorlist=http://mirrorlist.centos.org?arch=$basearch&release=7&repo=sclo-rhgpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo#刷新缓存
yum repolist
yum clean all
yum makecache
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
scl enable devtoolset-9 bash
echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile
cd /home/
make && make install     
#为了方便管理,将 Redis 的配置文件和可执行文件移动到统一目录中。创建 bin 和 etc 目录,并移动文件
mkdir  -p /usr/local/redis/bin
mkdir  -p /usr/local/redis/etc
mv redis.conf /usr/local/redis/etc/
mv src/redis-server src/redis-cli /usr/local/redis/bin/
启动 Redis
#使用默认配置启动 Redis:
/usr/local/redis/bin/redis-server
设置密码和远程访问
#编辑 redis.conf 文件,设置访问密码和允许远程访问等操作:
vim /usr/local/redis/etc/redis.conf
requirepass catgod007       #找到 requirepass 参数,设置密码
# bind 127.0.0.1            #找到 bind 参数,注释掉 127.0.0.1:
daemonize no                # 因为 systemd 会管理守护进程,所以不要 Redis 自己后台运行
supervised systemd          # 启用 systemd 日志集成(推荐)
dir /var/lib/redis          # 数据持久化保存目录
protected-mode no           #开启后外部网络无法访问
port 6388                   #修改端口号
appendonly yes              # 推荐开启 AOF 持久化
maxmemory 256mb             #自定义设置内存大小,不设置可能存在内存溢出的风险#重启 Redis 服务使配置生效:
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
#测试连接
使用 Redis 客户端连接测试:
/usr/local/redis/bin/redis-cli -h 127.0.0.1 -a 'yourpassword'
加入systemd服务
#创建 Redis 数据目录并设置权限
#mkdir -p /var/lib/redis
1.创建 systemd 服务文件
vi /etc/systemd/system/redis.service
添加内容如下
[Unit]
Description=Redis
After=network.target[Service]
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
ExecReload=/usr/local/redis/bin/redis-server -s reload
ExecStop=/usr/local/redis/bin/redis-server -s stop
PrivateTmp=true[Install]
WantedBy=multi-user.target
4.重新加载systemd配置
sudo systemctl daemon-reload
5.启动并启用Redis服务
sudo systemctl start redis
sudo systemctl enable redis
6.验证是否正常运行
sudo systemctl status redis
systemctl enable redis                  # 开机自启redis服务
systemctl disable redis                 # 取消开机自启

2.JDK8安装

cd /home/lighthouse/
#上传文件,解压文件
tar -zxvf jdk-8u451-linux-x64.tar.gz -C /usr/local/
#修改文件名
mkdir /usr/local/jdk
mv /usr/local/jdk1.8.0_451/* /usr/local/jdk
#配置jdk环境变量
vi /etc/profile
在最后添加:
export JAVA_HOME=/usr/local/jdk
export PATH=$PATH:$JAVA_HOME/bin
保存退出,再重新加载环境变量文件
source /etc/profile
查看jdk版本
java -version

3.JDK17安装(没有升级依赖就可以不安装17)

cd /home/lighthouse/
#上传文件,解压文件jdk-17.0.12_linux-x64_bin.tar.gz
tar -zxvf jdk-17.0.12_linux-x64_bin.tar.gz -C /usr/local/
#修改文件名
mkdir /usr/local/jdk17
mv /usr/local/jdk-17.0.12/* /usr/local/jdk17
#配置jdk环境变量(只保留一个jdk,就可以使用下面的)
vi /etc/profile
在最后添加:
export JAVA_HOME=/usr/local/jdk17
export PATH=$PATH:$JAVA_HOME/bin
保存退出,再重新加载环境变量文件
source /etc/profile
查看jdk版本
java -version#配置jdk环境变量(要使用多个jdk,就可以保留下面的(软链接))
创建 java17 和 javac17 的软链接
sudo ln -s /usr/local/jdk17/bin/java /usr/local/bin/java17
sudo ln -s /usr/local/jdk17/bin/javac /usr/local/bin/javac17
sudo ln -s /usr/local/jdk17/bin/javac /usr/local/bin/jar17
vi /etc/profile
在最后添加:
export JAVA_HOME=/usr/local/jdk8
export JAVA17_HOME=/usr/local/jdk17# 默认使用 Java 8
export JAVA_HOME=$JAVA_HOME
export PATH=$JAVA_HOME/bin:$PATH
保存退出,再重新加载环境变量文件
查看jdk版本
java17 -version

4.安装nginx

cd /home/lighthouse/
#下载,解压,编译
curl -o nginx-1.28.0.tar.gz https://nginx.org/download/nginx-1.28.0.tar.gz
tar -zxvf nginx-1.28.0.tar.gz
cd nginx-1.28.0/
./configure
#安装相关参数,配置系统配置参数
yum install pcre pcre-devel -y
yum install openssl openssl-devel -y
./configure --with-http_ssl_module --with-http_v2_module --with-stream
#编译安装
make && make install
#配置环境变量
vim /etc/profile
#shift+g 跳到最后一行加入
export PATH=$PATH:/usr/local/nginx/sbin
保存退出
source /etc/profile
#查看nginx运行状态
nginx
netstat -ntlp
#修改nginx配置文件
进入conf配置文件
ls
cd conf
#复制一份配置文件当备份
cp nginx.conf nginx.default.conf
#查看配置文件
cat nginx.conf
#访问80端口,能看到nginx欢迎你的页面即可
#加入nginx服务文件
vi /etc/systemd/system/nginx.service
添加:
[Unit]
Description=Nginx HTTP Server
Documentation=http://nginx.org/en/docs/
After=network.target remote-fs.target nss-lookup.target[Service]
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t
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
#重新加载 systemd 配置文件
systemctl daemon-reload
systemctl start nginx
systemctl status nginx
systemctl enable nginx

5.安装Maven

这个可忽略,我是本地打包上传,不需要maven来进行打包

cd /home/lighthouse/# 下载解压
curl -o apache-maven-3.9.8-bin.tar.gz https://dlcdn.apache.org/maven/maven-3/3.9.8/binaries/apache-maven-3.9.8-bin.tar.gz
tar -zxvf apache-maven-3.9.8-bin.tar.gz # 配置环境变量,更新配置
vim /etc/profile
#在最后一行加上路径
export PATH=$PATH:/home/lighthouse/apache-maven-3.9.8/bin
source /etc/profile# 创建本地仓库
mkdir /home/lighthouse/apache-maven-3.9.8/repository
#配置阿里云仓库和存储位置
cd /home/lighthouse/apache-maven-3.9.8/conf/
vi settings.xml
修改本地仓库(修改原来的本地仓库地址)
<localRepository>/home/lighthouse/apache-maven-3.9.8/repository</localRepository>
配置镜像源(删除原来的源或增加也可)
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
#检查环境变量是否生效
mvn -v

6.mysql8.0安装

#先移除自带的mariadb与/etc/my.cnf文件,/var/log/mysql/mysqld.log文件
[root@VM-20-9-centos mysql-8.0.26]# rpm -qa | grep mariadb
mariadb-libs-5.5.68-1.el7.x86_64
[root@VM-20-9-centos mysql-8.0.26]# rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64
[root@VM-20-9-centos mysql-8.0.26]# rm -rf /etc/my.cnf
[root@VM-20-9-centos mysql-8.0.26]# rm -rf /var/log/mysql/mysqld.log
#查看是否安装了 MySQL 依赖库 libaio,如果没有安装则进行安装:
yum -y install libaio
cd /home/lighthouse/
#下载,解压
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz
tar xvJf mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz
#修改文件名,复制解压文件到/usr/local/mysql/下,创建数据存储,日志存储,临时文件文件夹
mv mysql-8.0.26-linux-glibc2.12-x86_64 mysql-8.0.26
cp -r mysql-8.0.26 /usr/local/mysql/mysql-8.0.26
cd /usr/local/mysql/mysql-8.0.26
mkdir data  log  tmp
#创建mysql用户及用户组
groupadd mysql
useradd -g mysql mysql
#用户,文件授权 指向mysql8.0安装目录
chown -R mysql.mysql  /usr/local/mysql/mysql-8.0.26
chmod 750 /usr/local/mysql/mysql-8.0.26/#编写配置文件
vi /etc/my.cnf  # 正常情况下是没有这个文件的,执行保存之后会自动创建
内容如下:
[client]
port=3306
socket=/usr/local/mysql/mysql-8.0.26/tmp/mysql.sock
[mysqld]
port=3306
user=mysql
socket=/usr/local/mysql/mysql-8.0.26/tmp/mysql.sock
basedir=/usr/local/mysql/mysql-8.0.26
datadir=/usr/local/mysql/mysql-8.0.26/data
log-error=/usr/local/mysql/mysql-8.0.26/log/mysql.log
pid-file=/usr/local/mysql/mysql-8.0.26/tmp/mysql.pid
lower_case_table_names=1
bind-address=0.0.0.0
character_set_server=UTF8MB4
init_connect='SET NAMES utf8'
default-storage-engine=INNODB
explicit_defaults_for_timestamp=true
[mysqld_safe]
log-error=/usr/local/mysql/mysql-8.0.26/log/mysql.log
pid-file=/usr/local/mysql/mysql-8.0.26/tmp/mysql.pid
保存,退出
#初始化数据库(初始化失败后一定要清空data文件夹中的数据,否则会导致后续初始化也会失败)
/usr/local/mysql/mysql-8.0.26/bin/mysqld --defaults-file=/etc/my.cnf --user=mysql --basedir=/usr/local/mysql/mysql-8.0.26 --datadir=/usr/local/mysql/mysql-8.0.26/data --lower-case-table-names=1 --initialize#检测初始化是否成功(查看最后是否出现默认密码:A temporary password is generated for root@localhost: qnjfjIiLu4*b)
cat /usr/local/mysql/mysql-8.0.26/log/mysql.log
#设置 ssl 安全加密连接
cd /usr/local/mysql/mysql-8.0.26/
ls ./bin/*ssl*(这里要能查到东西才可以开启)
./bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/mysql-8.0.26/datals ./data/
#创建systemd服务文件
vi /etc/systemd/system/mysql.service
内容如下:
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=https://dev.mysql.com/doc/refman/8.0/en/using-systemd.html
After=network.target
After=syslog.target[Service]
User=mysql
Group=mysql
TimeoutSec=0
ExecStart=/usr/local/mysql/mysql-8.0.26/bin/mysqld --defaults-file=/etc/my.cnf
Restart=on-failure
PrivateTmp=false
LimitNOFILE=65535[Install]
WantedBy=multi-user.target
保存退出
#重载systemctl配置,设置mysqld服务开机自启动。
systemctl daemon-reload
systemctl start mysql
systemctl status mysql
systemctl stop mysql
systemctl enable mysql
#服务端登陆数据库
mysql -u root -p输入密码,默认是不显示你输入的密码
#Root更换密码,允许远程登陆
ALTER USER 'root'@'localhost' IDENTIFIED BY 'admin@2025';
ALTER USER 'root'@'%' IDENTIFIED BY 'admin@2025';
FLUSH PRIVILEGES;#创建允许远程登陆的用户
CREATE USER 'catgod007'@'%' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'catgod007'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
exit;

7.前端文件上传

#本地打包
前端打包过程:将项目中的ruoyi-ui单独拉出来,打包部署(这里用项目里自带的打包即可),将dist文件成zip压缩包上传
#解压
unzip dist.zip -d /opt/frontend-apps/nginx配置
vim /usr/local/nginx/conf/nginx.conf
#修改内容如下:
user 改为于启动用户一致
user root;
修改监听端口与资源访问地址server {listen       80;server_name  localhost;location / {root   /opt/frontend-apps/dist;index  index.html index.htm;try_files $uri $uri/ /index.html;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}}
保存,退出
#重新加载配置
nginx -s reload
#通过ip:80链接访问,成功

8.后端文件上传

#创建存放文件夹
mkdir /opt/backend-apps
后端项目打包:在maven中将父pmx清理,允许,打包,取出admin模块中的admin.jar进行上传/opt/backend-apps下
注:需要在打包前完成日志(logback.xml),文件路径(application.yml),数据库(application-druid.yml),redis的配置(application.yml),均配置为线上环境的地址
#给jar包加可执行权限,运行jar包
chmod a+x /opt/backend-apps/ruoyi-admin.jar
#以前台形式运行
java -jar /opt/backend-apps/ruoyi-admin.jar
#以后台形式运行
nohup java -jar /opt/backend-apps/ruoyi-admin.jar &
或
nohup java17 -jar /opt/backend-apps/ruoyi-admin.jar &
#查看执行
jobs
netstat -ntlp# 修改nginx配置文件
vim /usr/local/nginx/conf/nginx.conf
内容如下:server {listen       80;server_name  localhost;location / {root   /opt/frontend-apps/dist;index  index.html index.htm;try_files $uri $uri/ /index.html;}# 后端 API 代理(以 /api 开头的请求转发到后端)location /prod-api/ {proxy_pass http://127.0.0.1:8080/;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;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}}
#重新加载配置
nginx -s reload
#通过ip:80链接访问,正常登陆成功

第一次实现项目上线,争取多尝试,多写写!!

相关文章:

  • ganymed-ssh2连接openssh 8.2
  • 没有产品说明书和需求文档的情况下能够进行黑盒测试吗?
  • 黑马python(十五)
  • Python异步爬虫编程技巧:从入门到高级实战指南
  • 爬虫002-----urllib标准库
  • 【GNSS软件接收机】【理论简介】Chapter.3 RAIM 和 FDE[2025年6月]
  • QML革命:下一代GUI开发的核心优势详解
  • Redis基本介绍
  • 速通KVM(云计算学习指南)
  • 【网络安全】DNS 域原理、危害及防御
  • 限制应用程序只能运行一个实例
  • 防火墙基本功能介绍
  • 多模态大语言模型arxiv论文略读(134)
  • 基于 SpringBoot+JSP 的医疗预约与诊断系统设计与实现
  • 自定义主题,echarts系列嵌套
  • 焊接机器人氩气省气节能
  • 深入浅出Node.js中间件机制
  • 014 Linux 2.6内核进程调度队列(了解)
  • 《哈希表》K倍区间(解题报告)
  • NVIDIA RTX 5090性能参数介绍 一文读懂
  • seodg官网/seo外贸推广
  • 网站首页结构/数据分析师培训
  • 做ppt找图片的网站/下列哪些店铺适合交换友情链接
  • 微信网站建设电话/广州网络营销公司
  • 做教育网站挣钱/亚马逊关键词排名查询工具
  • 微信手机客户端网站建设/市场营销计划书模板