对项目(若依)部署到华为云上进行记录,以便自己后期查阅。
目录
配置要求
- 服务器:华为云 云耀云服务器HECS 或者阿里云ESC
- 服务器系统: CentOS 7.9 64bit
环境要求(这是我使用的版本号,其他版本号没有测试过)
- Nginx:1.20
- jdk: 1.8 (宝塔安装,安装Tomcat9自带jdk,就配置jdk了)
- MySQL:5.7 (建议在宝塔上安装)
- redis: 7.0.11 (建议在宝塔上安装)
下面就是我的安装配置
一:服务器的配置
1、服务器选择
华为云
阿里云(领取的体验三个月的)
2、服务器配置
重置密码
进入控制台
进行安全组配置
3、配置端口号
我后面直接配置了端口号 1000-10000 的,因为我后面有配置了一个项目,懒的一个一个的添加
个人建议:来说配置自己需要的端口号,这样更保险,(项目的前端和后端端口号都要进行配置)
我配置了这四个端口号,外加项目的前后端端口号,及宝塔(8888)的端口号
4、保存ip
到这里服务器的配置就基本完成了,保存公网ip和重置的密码
5、使用FinalShell连接服务器
使用公网ip进行连接
二:宝塔安装及配置
1、安装宝塔(方法一)
使用该方法下载宝塔相对来说要快点 宝塔在线安装地址
等待宝塔下载完成,保存宝塔地址
方法二
使用 FinalShell 下载宝塔(FinalShell的安装及使用教程)
在宝塔面板上复制安装脚本进行安装
选择下面的命令进行安装
yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec
将安装脚本命令复制到FinalShell上进行安装
2、宝塔设置(可设可不设)
在面板上输入 bt 及可以选择对应的编号进行操作
5 是 修改密码
6 是 修改用户名
14 是 查看宝塔的全部信息
3、登录宝塔外网面板
使用宝塔的外网面板地址 ,进行登录
3、端口号进行配置
在宝塔中开放数据库的端口号,同时我也开放了我项目的前后端的端口号
我还是开放 1000-10000 的端口号(主要是懒,不想每个项目都添加一次)
三:环境的配置及准备
1、MySQL的配置
(1)、下载MySQL
使用宝塔下载MySQL(若依项目推荐5.7)
其他项目根据自己的版本要求进行配置,若宝塔没有,可以参考其他的
(2)、导入数据库
将若依项目下的sql包下的两个sql文件导入进来
若使用自己本地转储出来的sql文件,可能会出现问题,因为本地的数据库版本一般都是8往上(排序规则是 :utf8mb4_0900_ai_ci),而服务器上选择的版本是5.7,没有该排序规则,默认的是(排序规则是:utf8mb4_general_ci)。
解决办法:在文件中 Ctrl+H 替换一下就可以了。
(3)、开放权限和连接到Navicat上
将数据库访问权限设置为所有人
在本地Navicat上连接服务器上的数据库,便于管理和数据查看。
连接--> mysql
不把权限设置为所有人访问,会出现连接失败。
2、jdk的配置
若直接下载Tomcat的话,可以不用进行配置。
自己安装的话,可以看看下面的(自己写的,不是很好,勉强能看)
3、Redis的配置
四:项目配置及打包
注意我在服务器上创建了ryTest文件夹(/project/ryTest),用来存放的项目文件。若存放位置不一致,记得在后面的路径配置中,改为自己的。
1、后端配置及打包
application.yml配置
redis配置
application-druid.yml 配置
logback.xml配置
打包
在本地若依项目的bin包下,点击package.bat 进行打包
在(...\ruoyi-admin\target )包下就可以找到打包的文件(ruoyi-admin.jar)
将打包的文档导入到服务器
2、前端配置及打包
vue.config.js配置
打包
输入命令 npm run build 进行打包
在本地的ruoyi-ui包下得到一个dist文件
将dist文件上传到服务器上
Nginx配置
server {
listen 3939; # 前端端口号
server_name 47.108.87.249; # 修改为你的域名或公网ip
charset utf-8;
# 若依项目的前端配置
location / {
root /project/ryTest/dist; # 前端页面位置
try_files $uri $uri/ /index.html;
index index.html index.htm;
}
location /image {
proxy_pass http://47.108.87.249:9393/image;
proxy_set_header Host $host;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded $proxy_add_x_forwarded_for;
}
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://47.108.87.249:9393/;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
完整的Nginx
user www www;
worker_processes auto;
error_log /www/wwwlogs/nginx_error.log crit;
pid /www/server/nginx/logs/nginx.pid;
worker_rlimit_nofile 51200;
stream {
log_format tcp_format '$time_local|$remote_addr|$protocol|$status|$bytes_sent|$bytes_received|$session_time|$upstream_addr|$upstream_bytes_sent|$upstream_bytes_received|$upstream_connect_time';
access_log /www/wwwlogs/tcp-access.log tcp_format;
error_log /www/wwwlogs/tcp-error.log;
include /www/server/panel/vhost/nginx/tcp/*.conf;
}
events
{
use epoll;
worker_connections 51200;
multi_accept on;
}
http
{
include mime.types;
#include luawaf.conf;
include proxy.conf;
default_type application/octet-stream;
server_names_hash_bucket_size 512;
client_header_buffer_size 32k;
large_client_header_buffers 4 32k;
client_max_body_size 50m;
sendfile on;
tcp_nopush on;
keepalive_timeout 60;
tcp_nodelay on;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 256k;
fastcgi_intercept_errors on;
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.1;
gzip_comp_level 2;
gzip_types text/plain application/javascript application/x-javascript text/javascript text/css application/xml application/json image/jpeg image/gif image/png font/ttf font/otf image/svg+xml application/xml+rss text/x-js;
gzip_vary on;
gzip_proxied expired no-cache no-store private auth;
gzip_disable "MSIE [1-6]\.";
limit_conn_zone $binary_remote_addr zone=perip:10m;
limit_conn_zone $server_name zone=perserver:10m;
server_tokens off;
access_log off;
server {
listen 3939; # 前端端口号
server_name 47.108.87.249; # 修改为你的域名或公网ip
charset utf-8;
# 若依项目的前端配置
location / {
root /project/ryTest/dist; # 前端页面位置
try_files $uri $uri/ /index.html;
index index.html index.htm;
}
location /image {
proxy_pass http://47.108.87.249:9393/image;
proxy_set_header Host $host;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded $proxy_add_x_forwarded_for;
}
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://47.108.87.249:9393/;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server
{
listen 888;
server_name phpmyadmin;
index index.html index.htm index.php;
root /www/server/phpmyadmin;
#error_page 404 /404.html;
include enable-php.conf;
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 12h;
}
location ~ /\.
{
deny all;
}
access_log /www/wwwlogs/access.log;
}
include /www/server/panel/vhost/nginx/*.conf;
}
项目启动
前端不需要启动,使用命令启动后端的jar包
// 启动jar,退出终端及终止
java -jar + jar包名称
// 启动jar包,即使退出终端还是不会终止
nohup java -jar + jar包名称
完成启动,退出终端,查看nohup.out 查看命令运行结果
启动成功