使用阿里云服务器部署vue+springboot前后端分离项目。
Xshell远程连接
买完阿里云服务器后,使用Xshell进行远程连接
在阿里云控制台找到服务器公网Ip,
去服务器管理修改密码
点击确定,连接后
打开服务器端口
安装jdk1.8
下载jdk1.8
下载jdk1.8:官网下载连接:Java SE Development Kit 8
官网下载要注册账号,或者可以自己找别人网盘分享的安装包下载
或者看的我坚果云分享:jdk-8u333-linux-x64.tar.gz - 坚果云 - 云盘|网盘|企业网盘|同步|备份|无限空间|免费网络硬盘|企业云盘
安装jdk1.8
创建安装目录
mkdir /usr/local/java
使用xftp上传安装包
解压缩:
tar -zxvf jdk-8u333-linux-x64.tar.gz
添加配置:
编辑环境变量:
vim /etc/profile
在profile文件最后加入以下配置:
export JAVA_HOME=/usr/local/java/jdk1.8.0_333 //最后这里是要解压目录下的java文件夹名
export CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/ //下面两个是写死的
export PATH=$PATH:$JAVA_HOME/bin
更新配置:
source /etc/profile
更新配置后查看java版本,可以看到版本即为安装配置成功
安装Nginx
使用Docker安装Nginx
我不喜欢这个(因为搞了一天没搞明白,用不好),所以我用Nginx下载的包直接用(推荐)
拉取之前需要启动Docker:
service docker start
然后取最新版的 Nginx 镜像:
docker pull nginx:latest
拉取成功:
查看本地镜像:
docker images
运行 nginx 容器:
docker run --name nginx-test -p 8080:80 -d nginx
--name nginx-test:容器名称。
-p 8080:80: 端口进行映射,将本地 8080 端口映射到容器内部的 80 端口。
-d nginx: 设置容器在在后台一直运行。
使用Nginx包安装
下载地址:nginx: download
下载传到服务器后,
大概步骤:一步一步来,可以翻下去一点点看看安装依赖先,不然等下会报错。
tar -zxvf nginx-1.24.0.tar.gz 解压缩
./configure --prefix=/usr/local/nginx 读取配置
make && make install 安装
这个报错是没有安装配置 Nginx 使用系统中的 PCRE 库
sudo yum install pcre pcre-devel 安装命令
sudo yum install zlib zlib-devel 还要装这个
make && make install 继续这命令完成安装
安装完在sbin目录下有个nginx,./nginx就可以启动Nginx了。
部分常用Nginx命令
nginx 启动Nginx
nginx -s reload 重启Nginx (有些重启这条命令要到Nginx目录下的sbin里的)
nginx -s stop 快速停止nginx
nginx -s quit 完整有序的停止nginx
nginx -t 查看默认的nginx配置文件路径
算是完了,然后配置什么的看下面项目部署的前端部分吧。
安装Docker
更改仓库源:
官方源:
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
阿里云:
sudo yum-config-manager \
--add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
清华大学源:
sudo yum-config-manager \
--add-repo \
https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
更改成功:
安装Docker:
安装最新版本的 Docker Engine-Community 和 containerd:
sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin
一路y,然后就成了
Docker安装MySQL
拉取 MySQL 镜像:
docker pull mysql:版本
运行MySQL:
docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
-itd:
-i 表示保持容器的标准输入(stdin)打开,即使没有附加终端。
-t 分配一个伪终端(pseudo-TTY)。
-d 表示以后台(detached)模式运行容器。
--name mysql-test: 指定容器的名称为 mysql-test。
-p 3306:3306: 将容器内的 MySQL 服务端口(默认为3306)映射到主机的3306端口,这样你可以通过主机的3306端口访问 MySQL 服务。
-e MYSQL_ROOT_PASSWORD=123456: 设置 MySQL 的 root 用户的密码为 123456。你可以将 123456 替换为你想要设置的密码。
mysql: 指定要运行的 MySQL 镜像。
需要进入容器才能使用,不然用不了
使用 docker exec -it
命令来进入容器。 -it
参数允许你与容器中的交互式 shell 进行交互
docker exec -it <容器名称或ID> bash
输入eixt可以退出容器
使用Navicat连接云服务器MySQL数据库并上传数据库文件
服务器新建数据库
一直下一步,
然后成了。
IDEA打包项目
前端
打包vue前端:
npm run build
使用Docker安装的Nginx的情况
要配置Nginx就要进入Docker容器里的Nginx,
docker ps
docker exec -it <nginx_container_id_or_name> /bin/bash
cd /etc/nginx/
额...Docker里不能用vim,需要在里面装一个
在容器里的Nginx里:
apt-get update 更新包列表
apt-get install vim 安装vim
vim --version 可以验证是否安装成功
有点慢,我还没搞懂怎么在这里面配置源,装完就可以用了
nginx.conf文件里:每个人自己的项目配置不同,根据自己项目情况来定
server{
listen 80;
server_name localhost;
charset utf-8;
location / {
#指定了根路径的文件系统位置,即该路径下的文件将会被提供给客户端。
root /home/user/server/photo/dist;
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
location /api{
proxy_pass http://localhost:9090;
#指示 Nginx 将 /api 路径下的请求代理到http://localhost:9090,也就是将这些请求转发给另一个服务器或者应用程序,通常用于实现反向代理或者负载均衡。
}
}
配置完需要重启一下Nginx
文件vim编辑时崩溃
使用下面命令尝试恢复
vim -r /etc/nginx/conf.d/default.conf
不行的话再找其他方法吧,反正我用这个就行了。
上传前端文件dist到刚刚Nginx配置的目录
然后我也不知道搞什么,反正这样没能正常访问,所以又改用使用Nginx包安装了,是我不会使用Docker吧。
使用Nginx包安装的情况
上面使用Docker安装时的Nginx.conf配置可能有点打错字的地方,这里的才是更正确的,符合我自己项目情况
这里就需要进入nginx的sbin目录下才能运行重启命令
后端
打包好后上传去服务器
nohup java -jar springboot-0.0.1-SNAPSHOT.jar & 运行jar包的命令,