如何在在雲服務器上部署javaweb項目(阿里雲為例)
一、准備一個雲服務器(以阿里雲為例)
1.注冊阿里雲賬號
2.進行學生認證,獲取免費服務器
https://developer.aliyun.com/adc/student
按照步驟來,
體驗結束之后,需要進行答題獲取服務器資格
測試完成之后就可以獲取2個月的服務器(可以到網上查答案)
這里選擇服務器的系統鏡像,以centos7.3為例
如果不想通過以上方式獲取服務器,可以購買一個輕量級服務器
https://developer.aliyun.com/plan/grow-up
3.登錄到控制台
點擊實例
點擊重置實例密碼,這個實例密碼是外部登錄你服務器需要的密碼,一定要牢記
二、准備遠程連接服務器的工具
這里推薦使用xftp和xshell
https://www.netsarang.com/zh/free-for-home-school/
這里填入你的姓名和郵箱,並且勾選兩者,之后下載地址會以郵件形式發送你的郵箱
下載完成之后,打開xshell
點擊文件——>新建,在彈出對話框的主機一欄填入服務器的公網地址
在身份驗證界面填入服務器的實例密碼(之前修改的密碼)
成功連接之后,如圖
xftp也是同樣的流程,點擊文件——>新建
填入服務器外網ip,用戶名(linux系統默認用戶名為root),密碼(實例密碼)
進行身份驗證(輸入實例密碼)
成功連接
三、安裝環境、數據庫
1.安裝jdk,並且配置環境
https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
這里以jdk1.8版本為例,下載需要登錄Oracle賬號
下載完之后,通過xftp把壓縮包上傳到服務器/usr/local文件夾下
打開xshell
//對Jdk進行解壓: tar -zxvf jdk-8u281-linux-x64.tar.gz
配置Java環境變量
//配置環境變量 vim /etc/profile
//按i進入編輯模式,在文件末尾添加如下參數 export JAVA_HOME=/usr/local/jdk1.8.0_281 #你的jdk安裝根目錄路徑 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin export PATH=$PATH:${JAVA_PATH} //輸入完后,按esc鍵退出編輯模式 //鍵盤輸入:wq,按回車保存並且退出
輸入java -version 如果成功出現jdk版本,則說明配置成功
如果配置文件沒有生效的話,可以嘗試用source命名初始化剛剛修改的配合文件
source /etc/profile
2.安裝tomcat
下載地址:https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/
這里以tomcat-7為例
注:tomcat最好保證和本地項目的tomcat版本一致,這樣可以避免發生錯誤
選擇tar.gz格式的壓縮包下載
下載完之后,通過xftp上傳
通過xshell,解壓
cd /usr/local tar -zxvf apache-tomcat-7.0.108.tar.gz進入
進入bin目錄下,啟動tomcat
//進入bin目錄 cd apache-tomcat-7.0.108 #進入tomcat的根目錄 cd bin #進入bin目錄 ./startup.sh #啟動tomcat服務
進入阿里雲控制台
進入安全組配置
點擊配置規則
手動添加,打開8080端口的訪問權限,配置如圖
通過服務器公網ip訪問8080端口,如果出現tomcat頁面,則說明配置成功,地址:公網ip + :+ 8080
3.安裝mysql
mysql的下載地址:https://dev.mysql.com/downloads/mysql/
選擇服務器的mysql版本,我這里以centos7.3為例,用的是mysql8版本
下載mysql8的rpm包
注意:一定要保證mysql版本和本地項目使用的mysql版本相同!我之前就因為版本不同,出現了各種問題。
通過xshell,在/usr/local下新建mysql文件夾
cd /usr/local mkdir mysql
通過xftp上傳下載好的mysql壓縮包到/usr/loacl/mysql目錄下
在xshell中進入mysql文件夾
cd /usr/local/mysql
通過 rpm -qa | grep mariadb 命令查看是否安裝 mariadb 的安裝包
rpm -qa | grep mariadb
如果有顯示的話,執行安裝命令
rpm -e mariadb-libs-5.5.52-1.el7.x86_64 --nodeps
再次查看mariadb安裝包
解壓mysql
解壓mysql壓縮包 tar -xvf mysql-8.0.23-1.el7.x86_64.rpm-bundle.tar
安裝common
安裝common rpm -ivh mysql-community-common-8.0.23-1.el7.x86_64.rpm --nodeps --force
安裝client
安裝client rpm -ivh mysql-community-client-8.0.23-1.el7.x86_64.rpm --nodeps --force
安裝server
安裝server
rpm -ivh mysql-community-server-8.0.23-1.el7.x86_64.rpm --nodeps --force
安裝libs
安裝libs
rpm -ivh mysql-community-libs-8.0.23-1.el7.x86_64.rpm --nodeps --force
查看mysql安裝包
rpm -qa | grep mysql
依次執行以下命令, 對mysql初始化和配置
依此執行一下命令,對mysql初始化和配置 mysqld --initialize chown mysql:mysql /var/lib/mysql -R systemctl start mysqld.service systemctl enable mysqld
如果出現這個錯誤:mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
執行以下命令: yum install -y libaio
查看數據庫的密碼
查看數據庫密碼: cat /var/log/mysqld.log | grep password
進入數據庫: mysql -u root -p 輸入剛才的密碼
這個密碼是不可見的,直接輸入后回車確認
修改密碼: ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123';
這是把密碼修改為'123'
打開你本地項目的數據庫,生成sql文件
通過xftp把sql文件上傳
通過xshell創建數據,登錄mysql
create database book_system default character set utf8; 創建名字為book_system默認編碼集為utf8的數據庫,名字和編碼集安裝本地項目來配置
進入數據庫並執行sql文件: use book_system; source /usr/local/book_system.sql;
通過show database;命令查詢所有的數據庫
show databases;
成功創建,查詢admin表內容
use book_system;
select * from user
可以通過圖形化工具navicat來管理雲端數據庫
打開阿里雲控制台
在配置規則中打開3306端口(mysql默認端口)
navicat下載地址:http://www.downcc.com/soft/322714.html
按照步驟安裝后破解。
主機填服務器外網ip,用戶名不用改,密碼輸入MySQL數據庫設置好的密碼
如果出現了is not allowed to connect to this MySql server的錯誤,應該是遠程數據庫設置了只接受本地連接,拒絕了遠程連接
可以通過xshell修改mysql表來解決
依次執行 use mysql; update user set host = '%' where user = 'root'; select host, user from user;
如果沒有馬上生效的話,使用以下sql語句刷新
mysql:flush privileges;
這樣就算修改成功了
再次用navicat pre連接,就能成功連接了
四、部署ssm項目
1.打開IDE編譯工具,以idea為例
打開項目配置
選擇項目根目錄下out目錄下artifacts文件夾
進行build
在項目的out目錄下可以找到打包好的war文件
2.配置好服務器數據庫
配置服務器數據庫方法上面說過了,運行相應的sql文件創建數據庫即可
3.上傳war包到服務器
用xftp把war包放進服務器tomcat目錄下的webapps文件夾,Tomcat會自己進行解壓
用xshell進入tomcat的bin文件夾,重啟tomcat
cd apache-tomcat-7.0.108 cd bin ./startup.sh
重啟完成后,通過瀏覽器訪問項目接口進行測試
4.訪問項目測試
url:外網ip + : + 8080 + / + 項目名 + / + 接口名
訪問成功
五、部署springboot項目
1.通過maven打包項目
首先,要確保pom.xml配置中有如下代碼
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins>
</build>
沒有這個插件的話,springboot項目部署之后將會無法運行
配置好application.yml文件,由於springboot項目是由自帶的tomcat運行,所以要為該項目設置一個新端口防止沖突
我這里設置的是8081端口
在服務器控制台打開8081端口訪問權限
打開idea右側的maven選項卡,選擇clean
然后,點擊package打包
在項目根目錄的target文件下會生成項目的相應jar包
2.配置好服務器數據庫
配置服務器數據庫方法上面說過了,運行相應的sql文件創建數據庫即可
3.上傳項目到服務器
進入/usr/local
創建app文件夾
cd /usr/loacl mkdir app
用xftp將項目jar包上傳到app文件夾下
啟動項目,將信息寫入.txt並掛載在后台: nohup java -jar novel-system-1.0-SNAPSHOT.jar > novel-system &
可在app下生成的txt中查看項目運行情況
4.訪問項目測試
這次設置端口是8081,所以訪問8081端口,項目成功啟動