阿里雲ECS使用體驗--部署微服務項目
1. 使用背景
本人是計算機科學與技術專業大二學生,最近在做一個實驗室管理系統項目。老師想讓我們這個系統能夠用起來,這是就需要服務器來支持了,所以就免費領取了阿里雲的ECS進行使用。我的這個項目是一個SpringBoot的微服務項目,一共包含四個微服務,分別為api_gateway網關模塊,oss阿里雲存儲模塊,service_device設備模塊,service_ucenter用戶管理中心模塊。除此之外,也使用了阿里巴巴的nacos註冊中心,mysql數據庫。
2.項目部署
- 首先,通過xshell遠程連接到服務器
- 為服務器配置java環境
# 進入usr/local目錄
cd /usr/local
# 通過Xshell從windows向linux傳輸文件, 輸入rz,選擇要傳輸的文件等待傳輸完成
# 安裝java環境,這裡的安裝包為jdk-8u281-linux-x64.tar.gz,解壓安裝包
tar -zxvf jdk-8u281-linux-x64.tar.gz
# 刪除安裝包
rm jdk-8u281-linux-x64.tar.gz
# 修改環境變量
vim /etc/profile
export JAVA_HOME=/usr/local/jdk1.8.0_281
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
# 使配置文件立即生效
source /etc/profile
# 測試java是否安裝成功,輸出java版本即代表配置成功
java -version
- 配置maven環境
# 進入usr/local目錄
cd /usr/local
# 上傳maven安裝包,這裡是apache-maven-3.6.3-bin.tar
# 解壓
tar -zxvf apache-maven-3.6.3-bin.tar.gz
# 刪除安裝包
rm apache-maven-3.6.3-bin.tar.gz
# 修改環境變量
vim /etc/profile
export MAVEN_HOME=/usr/local/apache-maven-3.6.3
export PATH=$PATH:$MAVEN_HOME/bin
# 使配置文件立即生效
source /etc/profile
# 測試maven是否成功
mvn -version
- 安裝mysql
# 下載mysql安裝包
wget http://repo.mysql.com/mysql57-community-release-el7-10.noarch.rpm
# 安裝軟件源
rpm -Uvh mysql57-community-release-el7-10.noarch.rpm
# 安裝mysql服務端
yum install -y mysql-community-server
# 啟動mysql
service mysqld start
# 啟動服務
systemctl start mysqld
systemctl start mysqld.service
# 檢測mysql運行狀態
service mysqld status
systemctl status mysqld.service
# 查看臨時密碼
grep 'temporary password' /var/log/mysqld.log
# 登錄
mysql -u root -p
https://blog.csdn.net/qq_23077403/article/details/85093705
# 修改密碼複雜度
set global validate_password_policy=0;
set global validate_password_length=1;
# 修改密碼
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密碼';
- nacos
wget https://github.com/alibaba/nacos/releases/download/1.2.0/nacos-server-1.2.0.tar.gz
mv ./nacos-server-1.2.0.tar.gz /usr/local/
tar -zxvf ./nacos-server-1.2.0.tar.gz
application.properties中nacos.core.auth.enabled修改為true
#開啟服務
[root@iZ0jl4zeeakpsmjy77xb38Z bin]# sh startup.sh -m standalone
#停止服務
[root@iZ0jl4zeeakpsmjy77xb38Z bin]# sh shutdown.sh
The nacosServer(8458) is running...
Send shutdown request to nacosServer(8458) OK
#查看狀態
ps -ef | grep nacos
- 將打包好的項目jar包上傳到服務器上面
其中運行jar包的幾種方式如下:
- 方式一
java -jar service_device-0.0.1-SNAPSHOT.jar
特點:當前ssh窗口被鎖定,可按CTRL + C打斷程序運行,或直接關閉窗口,程序退出
那如何讓窗口不鎖定?
- 方式二
java -jar shareniu.jar &
&代表在後臺運行。
特定:當前ssh窗口不被鎖定,但是當窗口關閉時,程序中止運行。
繼續改進,如何讓窗口關閉時,程序仍然運行?
- 方式三,一般使用這種方式
nohup java -jar shareniu.jar &
nohup 意思是不掛斷運行命令,當賬戶退出或終端關閉時,程序仍然運行
當用 nohup 命令執行作業時,缺省情況下該作業的所有輸出被重定向到nohup.out的文件中,除非另外指定了輸出文件。
- 方式四
nohup java -jar shareniu.jar >/dev/null &
解釋下 >temp.txt
command >out.file
command >out.file是將command的輸出重定向到out.file文件,即輸出內容不打印到屏幕上,而是輸出到out.file文件中。
可通過jobs命令查看後臺運行任務
jobs
那麼就會列出所有後臺執行的作業,並且每個作業前面都有個編號。
如果想將某個作業調回前臺控制,只需要 fg + 編號即可。
查看某端口占用的線程的pid
netstat -nlp |grep :9181
3、訪問服務器資源
將本地用到後臺接口的URL改為服務器ip+端口號,並在ECS控制檯中找到安全組,並開放對應的網關端口號即可。
const BASE_URL = 'http://服務器ip:8222'