一、部署前工作
在阿里雲服務器上安裝centos7
centos7以上應該都可以(我自己的是7)
可以通過命令查看自己的版本
cat /etc/redhat-release 查看CentOS版本

隨后安裝好以下軟件(以下是我安裝的版本,可以參考)
- JDK1.8
- Maven3.6
- Mysql(5.5.62)
- Nginx(1.19.8)
- Redis(6.2.1)
以上軟件買過阿里雲服務器之后是可以在寶塔的界面下載並控制的。

二、配置修改之后端
1、修改數據庫

2、修改端口號和文件路徑


3、修改Redis

4、配置數據庫
我的數據庫名字是 ry-vue,在上面的截圖中是可以看見的
將項目中的SQL文件夾中的兩個文件導入到數據庫中。
(注意,因為上面數據庫的配置我們改為了服務器的IP,所以要導入到服務器的數據庫中哦。)


5、打包
在若依的bin目錄下是有一個package.bat文件的,雙擊運行


(方案一)
本地打包成功,隨后在這個文件夾下執行cmd命令。


然后會讓你輸入root用戶的密碼 輸入即可。隨后會有一個上傳的百分比進度條。jar包到此為止上傳成功。
(方案二)
也是我常用的。FTP、FileZilla或者FinalShell都可以,我用的的是FinalShell

三、配置修改之前端

完成圖片中的這幾步,下載淘寶鏡像,本地運行確保沒問題。
在ruoyi-ui文件夾下運行下面兩行命令(前提是要下載node)
npm install --registry=https://registry.npm.taobao.org
npm run dev
另外下圖這個配置修改。(本地跑的話是要改下面張圖的,如果是服務器那么就不需要)
我們暫時修改。

本地npm run dev之后的效果,接口500是因為沒啟動本地后端。

然后就可以打包了,還在ruoyi-ui文件夾下執行 npm run build:prod
打包成功之后。這里會出現一個dist文件夾

將這個文件夾上傳至服務器,方法跟jar包的一樣。
我的jar包和前端的包放在一個文件夾下面

到此為止,前端和后端的包都已經部署完畢。
四、配置Nginx
主要看server塊中的配置,其他不用看。
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; 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; 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 80; server_name xxx.xxx.xxx.xxx; # 這里是你的服務器IP地址 location / { root /home/web/dist; # 前端工程的目錄 index index.html; # 前端頁面 try_files $uri $uri/ /index.html; } 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:9000/; } location ~ /\. { deny all; } access_log /www/wwwlogs/access.log; } include /www/server/panel/vhost/nginx/*.conf; }
五、運行jar包
java -jar ruoyi-admin.jar 運行成功之后ctrl+c程序會退出
nohup java -jar ruoyi-admin.jar > ruoyi.log 2>&1 & 表示一直運行,日志輸出到ruoyi.log文件當中。

程序運行沒問題之后,網站中輸入服務器IP地址會自動跳轉到若依的網站當中。(完結,撒花~~)
