1、配置云服務器
https://blog.csdn.net/modaoshi51991/article/details/139547630
2、上傳前端項目并配置nginx
首先在前端項目運行以下代碼將項目打包
我遇到node.js和openssl兩個版本不兼容問題,更新版本依次解決即可
vue-cli-service build
看一下package.json文件里腳本配置里面對應的命令,運行那個
一般會把項目整個打包到dist文件里,然后上傳dist文件即可
> ruoyi@3.8.1 build:prod
> vue-cli-service build| Building for production...Error: error:0308010C:digital envelope routines::unsupportedat new Hash (node:internal/crypto/hash:71:19)at Object.createHash (node:crypto:133:10)at module.exports (C:\D\USERPROG\ruoyi-ui\node_modules\webpack\lib\util\createHash.js:135:53)at NormalModule._initBuildHash (C:\D\USERPROG\ruoyi-ui\node_modules\webpack\lib\NormalModule.js:417:16)at handleParseError (C:\D\USERPROG\ruoyi-ui\node_modules\webpack\lib\NormalModule.js:471:10)at C:\D\USERPROG\ruoyi-ui\node_modules\webpack\lib\NormalModule.js:503:5at C:\D\USERPROG\ruoyi-ui\node_modules\webpack\lib\NormalModule.js:358:12at C:\D\USERPROG\ruoyi-ui\node_modules\loader-runner\lib\LoaderRunner.js:373:3at iterateNormalLoaders (C:\D\USERPROG\ruoyi-ui\node_modules\loader-runner\lib\LoaderRunner.js:214:10)at iterateNormalLoaders (C:\D\USERPROG\ruoyi-ui\node_modules\loader-runner\lib\LoaderRunner.js:221:10)at C:\D\USERPROG\ruoyi-ui\node_modules\loader-runner\lib\LoaderRunner.js:236:3at runSyncOrAsync (C:\D\USERPROG\ruoyi-ui\node_modules\loader-runner\lib\LoaderRunner.js:130:11)at iterateNormalLoaders (C:\D\USERPROG\ruoyi-ui\node_modules\loader-runner\lib\LoaderRunner.js:232:2)at Array.<anonymous> (C:\D\USERPROG\ruoyi-ui\node_modules\loader-runner\lib\LoaderRunner.js:205:4)at Storage.finished (C:\D\USERPROG\ruoyi-ui\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:55:16)at C:\D\USERPROG\ruoyi-ui\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:91:9
| Building for production...C:\D\USERPROG\ruoyi-ui\node_modules\loader-runner\lib\LoaderRunner.js:114throw e;^Error: error:0308010C:digital envelope routines::unsupportedat new Hash (node:internal/crypto/hash:71:19)at Object.createHash (node:crypto:133:10)at module.exports (C:\D\USERPROG\ruoyi-ui\node_modules\webpack\lib\util\createHash.js:135:53)at NormalModule._initBuildHash (C:\D\USERPROG\ruoyi-ui\node_modules\webpack\lib\NormalModule.js:417:16)at handleParseError (C:\D\USERPROG\ruoyi-ui\node_modules\webpack\lib\NormalModule.js:471:10)at C:\D\USERPROG\ruoyi-ui\node_modules\webpack\lib\NormalModule.js:503:5at C:\D\USERPROG\ruoyi-ui\node_modules\webpack\lib\NormalModule.js:358:12at C:\D\USERPROG\ruoyi-ui\node_modules\loader-runner\lib\LoaderRunner.js:373:3at iterateNormalLoaders (C:\D\USERPROG\ruoyi-ui\node_modules\loader-runner\lib\LoaderRunner.js:214:10)at iterateNormalLoaders (C:\D\USERPROG\ruoyi-ui\node_modules\loader-runner\lib\LoaderRunner.js:221:10)at C:\D\USERPROG\ruoyi-ui\node_modules\loader-runner\lib\LoaderRunner.js:236:3at context.callback (C:\D\USERPROG\ruoyi-ui\node_modules\loader-runner\lib\LoaderRunner.js:111:13)at C:\D\USERPROG\ruoyi-ui\node_modules\cache-loader\dist\index.js:147:7at C:\D\USERPROG\ruoyi-ui\node_modules\graceful-fs\graceful-fs.js:61:14at FSReqCallback.oncomplete (node:fs:197:23) {opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],library: 'digital envelope routines',reason: 'unsupported',code: 'ERR_OSSL_EVP_UNSUPPORTED'
}
Browserslist: caniuse-lite is outdated. Please run:npx browserslist@latest --update-dbWhy you should do it regularly: https://github.com/browserslist/browserslist#browsers-data-updating| Building for production...Error: error:0308010C:digital envelope routines::unsupportedat new Hash (node:internal/crypto/hash:71:19)at Object.createHash (node:crypto:133:10)at module.exports (C:\D\USERPROG\ruoyi-ui\node_modules\webpack\lib\util\createHash.js:135:53)at NormalModule._initBuildHash (C:\D\USERPROG\ruoyi-ui\node_modules\webpack\lib\NormalModule.js:417:16)at handleParseError (C:\D\USERPROG\ruoyi-ui\node_modules\webpack\lib\NormalModule.js:471:10)at C:\D\USERPROG\ruoyi-ui\node_modules\webpack\lib\NormalModule.js:503:5at C:\D\USERPROG\ruoyi-ui\node_modules\webpack\lib\NormalModule.js:358:12at C:\D\USERPROG\ruoyi-ui\node_modules\loader-runner\lib\LoaderRunner.js:373:3at iterateNormalLoaders (C:\D\USERPROG\ruoyi-ui\node_modules\loader-runner\lib\LoaderRunner.js:214:10)at iterateNormalLoaders (C:\D\USERPROG\ruoyi-ui\node_modules\loader-runner\lib\LoaderRunner.js:221:10)at C:\D\USERPROG\ruoyi-ui\node_modules\loader-runner\lib\LoaderRunner.js:236:3at runSyncOrAsync (C:\D\USERPROG\ruoyi-ui\node_modules\loader-runner\lib\LoaderRunner.js:130:11)at iterateNormalLoaders (C:\D\USERPROG\ruoyi-ui\node_modules\loader-runner\lib\LoaderRunner.js:232:2)at Array.<anonymous> (C:\D\USERPROG\ruoyi-ui\node_modules\loader-runner\lib\LoaderRunner.js:205:4)at Storage.finished (C:\D\USERPROG\ruoyi-ui\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:55:16)at C:\D\USERPROG\ruoyi-ui\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:91:9
C:\D\USERPROG\ruoyi-ui\node_modules\loader-runner\lib\LoaderRunner.js:114throw e;^Error: error:0308010C:digital envelope routines::unsupportedat new Hash (node:internal/crypto/hash:71:19)at Object.createHash (node:crypto:133:10)at module.exports (C:\D\USERPROG\ruoyi-ui\node_modules\webpack\lib\util\createHash.js:135:53)at NormalModule._initBuildHash (C:\D\USERPROG\ruoyi-ui\node_modules\webpack\lib\NormalModule.js:417:16)at handleParseError (C:\D\USERPROG\ruoyi-ui\node_modules\webpack\lib\NormalModule.js:471:10)at C:\D\USERPROG\ruoyi-ui\node_modules\webpack\lib\NormalModule.js:503:5at C:\D\USERPROG\ruoyi-ui\node_modules\webpack\lib\NormalModule.js:358:12at C:\D\USERPROG\ruoyi-ui\node_modules\loader-runner\lib\LoaderRunner.js:373:3at iterateNormalLoaders (C:\D\USERPROG\ruoyi-ui\node_modules\loader-runner\lib\LoaderRunner.js:214:10)at C:\D\USERPROG\ruoyi-ui\node_modules\loader-runner\lib\LoaderRunner.js:186:6at context.callback (C:\D\USERPROG\ruoyi-ui\node_modules\loader-runner\lib\LoaderRunner.js:111:13)at C:\D\USERPROG\ruoyi-ui\node_modules\cache-loader\dist\index.js:240:7at C:\D\USERPROG\ruoyi-ui\node_modules\neo-async\async.js:2830:7at done (C:\D\USERPROG\ruoyi-ui\node_modules\neo-async\async.js:2865:11)at C:\D\USERPROG\ruoyi-ui\node_modules\neo-async\async.js:2818:7at Array.<anonymous> (C:\D\USERPROG\ruoyi-ui\node_modules\cache-loader\dist\index.js:229:9) {opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],library: 'digital envelope routines',reason: 'unsupported',code: 'ERR_OSSL_EVP_UNSUPPORTED'
}Node.js v18.13.0
安裝 EPEL(Extra Packages for Enterprise Linux)存儲庫:
sudo yum install epel-release
安裝 Nginx:
sudo yum install nginx
啟動并啟用 Nginx:
sudo systemctl start nginx
sudo systemctl enable nginx
上傳dist文件到服務器指定目錄
scp -r ./dist/* username@your_server_ip:/var/ww/myapp
編輯 Nginx 配置文件以指向你的應用目錄:
sudo vi /etc/nginx/conf.d/myapp.conf
在配置文件中添加以下內容:
server {listen 80;server_name your_domain_or_ip;//只需要將your_domain_or_ip改成服務器域名或者公網ip即可location / {root /var/www/myapp;index index.html;try_files $uri $uri/ /index.html;}# 轉發后端請求到 Tomcatlocation /backend/ {proxy_pass http://localhost: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;}# Serve gzipped files if availablegzip_static on;gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;gzip_proxied any;gzip_comp_level 6;gzip_buffers 16 8k;gzip_http_version 1.1;gzip_min_length 256;
}
測試 Nginx 配置文件的正確性:
sudo nginx -t
如果配置文件測試通過,重啟 Nginx:
sudo systemctl restart nginx
確保防火墻允許 HTTP 流量:
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
在瀏覽器中訪問你的域名或服務器 IP,確保你的前端應用已經成功部署。
然后就可以通過http://your_eip訪問你的前端頁面了
3、下載jdk,tomcat、maven,mysql,打包后端項目,創建新數據庫,上傳后端項目并復制到tomcat目錄下
下載jdk
sudo dnf install java-1.8.0-openjdk-devel
驗證
java -version
使用 wget 命令下載 Tomcat 9.0.89:(需要到官網查看最新版本,替換里面的版本號)
cd /tmp
wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.89/bin/apache-tomcat-9.0.89.tar.gz
將下載的壓縮包解壓到你想安裝的目錄,例如 /opt/tomcat:
sudo mkdir /opt/tomcat
sudo tar xvf apache-tomcat-9.0.89.tar.gz -C /opt/tomcat --strip-components=1
驗證
sudo systemctl status tomcat
在瀏覽器中打開 http://:8080,如果看到 Tomcat 歡迎頁面,說明 Tomcat 已成功安裝并運行。
下載maven
如果遇到yum的問題看如下文章解決
https://blog.csdn.net/modaoshi51991/article/details/139606895
打包java后端項目
使用 cd 命令切換到你的項目目錄。
cd C:\D\USERPROG\rear\RuoYi-Vue
運行 Maven 構建命令:
mvn clean package
下載mysql
如果遇到問題參考我的這篇文章
https://blog.csdn.net/modaoshi51991/article/details/139725384?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22139725384%22%2C%22source%22%3A%22modaoshi51991%22%7D
安裝 MySQL:
sudo yum install mysql-community-server -y
啟動 MySQL 服務:
sudo systemctl start mysqld
設置 MySQL 開機自啟動:
sudo systemctl enable mysqld
獲取 MySQL 臨時 root 密碼:
sudo grep 'temporary password' /var/log/mysqld.log
運行 MySQL 安全安裝向導:
sudo mysql_secure_installation
運行這個命令后,系統會提示你輸入臨時 root 密碼,然后進行一些安全配置:
Enter password for user root: 輸入臨時密碼 dw)<Zk*rs1b+
New password: 設置一個新的 root 密碼
Re-enter new password: 再次輸入新密碼以確認
Do you wish to continue with the password provided? (Press y|Y for Yes, any other key for No): 輸入 Y
Remove anonymous users? (Press y|Y for Yes, any other key for No): 輸入 Y
Disallow root login remotely? (Press y|Y for Yes, any other key for No): 輸入 Y
Remove test database and access to it? (Press y|Y for Yes, any other key for No): 輸入 Y
Reload privilege tables now? (Press y|Y for Yes, any other key for No): 輸入 Y
登錄 MySQL:
mysql -u root -p