若依项目部署
欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作
前后端部署
1、虚拟机环境
2、编译环境:jdk、node.js、nginx
3、版本管理工具:Git
4、docker环境安装:mysql、redis
5、代码拉取、文件配置
虚拟机环境
参考文章:https://www.cnblogs.com/HelloM/p/13519667.html
编译环境
jdk环境安装
JDK版本>8,可以在官网地址下载。https://www.oracle.com/java/technologies/downloads/#java8
#进入安装包目录,解压
cd /data/tmp
tar -zxvf jdk-8u261-linux-x64.tar.gz
#把解压出来的文件夹转移到统一的地方,这个service是存放你jdk环境的地方,谨慎选择
mv /data/tmp/jdk1.8.0_261 /data/service/jdk1.8.0_261
#修改环境变量/etc/profile,JAVA_HOME修改为自己的jdk路径。
vim /etc/profile
export JAVA_HOME=/data/service/jdk1.8.0_261
export PATH=$PATH:$JAVA_HOME/bin
#使环境变量生效
source /etc/profile
#检查是否配置成功
java -version
Node.js安装
安装教程:https://www.runoob.com/nodejs/nodejs-install-setup.html
历史版本下载:https://nodejs.org/dist/
#解压安装包,配置运行
tar xf node-v14.15.4-linux-x64.tar.xz // 解压
cd node-v14.15.4-linux-x64/ // 进入解压目录
./bin/node -v // 执行node命令 查看版本
//解压文件的 bin 目录底下包含了 node、npm 等命令,我们可以使用 ln 命令来设置软连接:
mv /data/tmp/node-v14.15.4-linux-x64 /data/service/
#这个坑得注意,是小写的L,不是大写的i,仔细看
ln -s /data/service/node-v14.15.4-linux-x64/bin/npm /usr/local/bin/
ln -s /data/service/node-v14.15.4-linux-x64/bin/node /usr/local/bin/
Nginx安装
需要作为转发代理服务器,前端向后端发送请求
#首先安装nginx前置软件
yum -y install gcc pcre-devel zlib-devel openssl openssl-devel
#下载nginx软件安装包
cd /data/tmp
wget http://nginx.org/download/nginx-1.19.6.tar.gz
tar -zxvf nginx-1.19.6.tar.gz
cd nginx-1.19.6
#设置安装目录为/usr/local/nginx
./configure --prefix=/usr/local/nginx
make
make install
#启动nginx
/usr/local/nginx/sbin/nginx
Git安装
Git是用来进行代码的版本管理、在项目中可以同步远端的代码,也可以将自己的代码同步到远端。在这里主要是用来拉取开源项目代码。
#通过yum安装,本方法最简单。但是无法控制安装的版本
yum -y install git
#检查是否配置成功
git --version
#生成公钥、后面这个是邮箱,别搞错了
ssh-keygen -t rsa -C "xx@xx.com"
#查看生成的公钥
cat ~/.ssh/id_rsa.pub
Docker
Docker的安装
#安装docker
yum install –y docker
#设置开机自启
systemctl enable docker
#重启
reboot
######################如果安装出现了问题,卸载旧版本################################
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
#安装 Docker Engine-Community
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo yum install docker-ce docker-ce-cli containerd.io
sudo systemctl start docker
#安装docker
yum install https://download.docker.com/linux/fedora/30/x86_64/stable/Packages/containerd.io-1.2.6-3.3.fc30.x86_64.rpm
mysql安装,之所以在docker上安装,主要就是很方便。我在这台主机上部署了以后,就可以mysql单独抽象成一个主机在运行数据库。
#查看可用的 MySQL 版本
docker search mysql
#拉取5.7版本
docker pull mysql:5.7
#创建配置文件目录
mkdir -p /data/docker/mysql/conf
#进入配置文件目录,添加一个配置文件
vim my.cnf
#启动镜像,那个root是密码哈!
docker run -p 3306:3306 --name mysql -v /data/docker/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=root-d mysql:5.7
#进入docker容器设置env LANG=C.UTF-8,这是进入容器的命令交互界面
docker exec -it mysql env LANG=C.UTF-8 bash
#连接mysql,之后输入密码,就可以进入数据库啦
mysql -u root -p
#外部工具随便连、虚拟机ip+3306端口
redis安装
#拉取镜像
docker pull redis:latest
#创建容器,并运行
docker run -itd --name redis-test -p 6379:6379 redis
部署
数据库配置
先连接上数据库,执行sql脚本,这样做的好处可以避免sql执行后成乱
1、创建sql窗口,脚本复制
2、点击左边项目,Scripts下面的窗口,设置属性,如果是GBK,则转换成utf-8
3、点击sql窗口的橙色按钮、执行sql脚本
代码拉取
#clone项目源代码
git clone git@gitee.com:y_project/RuoYi-Vue.git
后端打包部署
由于我maven没装,所以在虚拟机外面打好包,再丢到虚拟机中。但配置是一个意思。
手动idea打包,打成的包需要用shell工具丢到虚拟机中
执行jar就可以了
nohup java -jar ruoyi-admin.jar &
前端打包部署
进入前端目录中
# 进入项目目录
cd /data/gitee/RuoYi-Vue/ruoyi-ui
# 打包正式环境
npm run build:prod
#创建文件、移动一下。换个地方避免混淆
mkdir /data/app/ruoyi-ui
mv dist/* /data/app/ruoyi-ui/
nginx的配置
#把生成好的 dist 文件夹的静态文件发布到你的 nginx 或者静态服务器即可,其中的 index.html 是后台服务的入口页面。
vim /usr/local/nginx/conf/nginx.conf
#配置文件的具体内容
location / {
root /data/app/ruoyi-ui;
try_files $uri $uri/ /index.html;
index index.html index.htm;
}
location /prod-api/ {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://localhost:18081/;
}
#重新加载配置文件nginx
/usr/local/nginx/sbin/nginx -s reload
部署好了,在虚拟机外访问。ip+80端口号,http://192.168.0.130:80。这里解释一下,ip呢,是我自己虚拟机的ip,80是nginx配置的代理端口,你从这个端口进去,访问到nginx下的静态资源,然后又通过proxy_pass转发后端api请求。
注意:如果浏览器访问不了虚拟机,你瞅瞅widow电脑能不能ping通虚拟机,如果可以,再试试把虚拟机防火墙关闭,再访问部署网站。
--查看正在运行进程
ps -a
kill 999
--关闭防火墙
systemctl stop firewalld
status
start
真实服务器肯定是不可以这样滴,正常情况下我们还是要开端口,保持防火墙开着
#查看开启端口
firewall-cmd --zone=public --list-ports
#开启端口,--permanent,永久生效
firewall-cmd --zone=public --add-port=18081/tcp
#删除端口
firewall-cmd --zone=public --remove-port=80/tcp
#更详细的防火墙操作参考地址
https://m.php.cn/article/452612.html
更多推荐
所有评论(0)