ubuntu伺服器搭建個人網站 ---- 阿里雲 輕量應用伺服器配置jdk tomcat mysql
目錄
1.購買雲伺服器
進入阿里雲 www.aliyun.com 可以用支付寶賬號登入,登陸後進入賬號管理->實名認證。還可以進行學生認證。如果進行學生認證的話,可以看到 雲翼計劃。學生優惠購買雲伺服器,9.5元/月。有兩種可供選擇,差別不大,我選的是輕量應用伺服器。
購買完成後,去管理控制檯,收藏輕量應用伺服器,就方便在左側欄看到了
點進去這個伺服器,選擇遠端連線欄,設定一下root密碼(需要手機驗證碼)Ubuntu右側的小電腦螢幕圖示,點一下就可以對伺服器進行遠端控制了。
2.配置域名
阿里雲官網左側欄提供了域名服務,可以直接在裡面購買。然後到伺服器控制檯,有域名配置,根據提示配置好即可。需要解析哦,等一天左右。
域名和伺服器都弄好後,其實還需要備案,這是一個繁瑣且漫長的過程,如果不強求,我們可以先不弄,暫時用ip直接訪問也可以。
3.遠端控制伺服器
伺服器購買後,系統很乾淨,什麼都沒有。阿里雲網頁上可以直接通過網頁進行遠端連線伺服器,每次還得登入阿里雲,好麻煩哦。我這裡使用Putty進行遠端控制(登入root使用者),putty操作很簡單,輸入自己的公網ip,埠填22,連線就可以進入控制視窗了,會提示登入使用者,用root登入即可。
關於putty,百度搜索安裝即可。
另外需要在自己的windows安裝一個軟體FileZilla(百度可安裝),安裝後可以和伺服器進行檔案傳輸。
左邊紅框內是自己的windows檔案管理器,右側紅框內是ubuntu伺服器的檔案管理。可以互相拖拽實現檔案傳輸。
4.配置JDK
下載Linux 64就行,下載後,通過FileZilla上傳的伺服器 路徑:/opt/java/
伺服器端進入/opt/java/下,對你剛才上傳進來的jdk包進行解壓(後面是包名,如不一樣,自己改一下)
tar -zxvf jdk-8u121-linux-x64.tar.gz
解壓後會多出一個資料夾,我的是 jdk1.8.0_191,下面進行環境變數的配置:
vim /etc/profile
在檔案最後新增以下內容,目的是對所有使用者開機便可讀取到jdk。
export JAVA_HOME=/opt/java/jdk1.8.0_191 export JRE_HOME=$JAVA_HOME/jre export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
儲存退出。
還沒有結束,繼續執行:
vim /etc/environment
將裡面的內容修改為如下,注意最後一行JAVA_HOME是我們安裝的目錄
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:$JAVA_HOME/bin"
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export JAVA_HOME=/java/jdk1.8.0_191
儲存退出。
最後執行這兩句,讓配置檔案立即生效,如果不執行,重啟系統後也會生效
source /etc/environment
source /etc/profile
至此,jdk配置完成,下面驗證一下是否成功。執行這一句,如果出現後面的介面,則證明jdk配置成功。否則,請重新配置。
java -version
5.tomcat服務的配置
官網下載tomcat的壓縮包 https://tomcat.apache.org/download-70.cgi 我下載的是tomcat8.5 。下載後,通過FileZilla上傳至伺服器/opt/資料夾下。(因為我windows用的tomcat8.5,版本對應)
在putty遠端控制進入/opt/資料夾下,解壓,注意最後的包名!直接複製我的語句可能不對:
tar -zxvf apache-tomcat-8.5.33.tar.gz
解壓後會多出一個資料夾 apache-tomcat-8.5.33 ,名字太長了,我們給他改一下名字,改為 tomcat:
mv apache-tomcat-8.5.33 tomcat
然後我們進入 cd /opt/tomcat/conf/目錄下,編輯server.xml檔案,修改埠。找到下面的語句。預設埠是8080,需要修改為80(商用埠)
注意:80埠在阿里雲伺服器上是預設開啟的,所以我們改成80可以直接訪問,也可以改成其他的,比如8021,那麼就必須在雲伺服器控制檯的安全組(或防火牆)增加一條規則,允許此埠!!我們訪問伺服器時,位址列就應該填寫 ip:8021 。如果我要在伺服器上佈置多個網站,那就不能用80埠!
vim /opt/tomcat/conf/server.xml
然後我們進入 cd /opt/tomcat/bin/目錄下,執行startup.sh(開啟tomcat服務)
sh startup.sh
然後我們開啟一個瀏覽器,在位址列輸入自己的 公網ip:埠號 就可以看到如下介面,證明配置成功。若此時未成功,請從頭再來。
這個頁面是 /opt/tomcat/webapps/ROOT/index.jsp,也就是tomcat預設的主頁。
修改預設主頁,在自己喜歡的目錄下寫java web。修改server.xml檔案,找到Host標籤,在裡面加上Context標籤(這句話原本沒有,自己寫上),內容如圖。
vim /opt/tomcat/conf/server.xml
<Context path="" docBase="now" debug="0" reloadable="true" />
解釋:docBase是你的專案路徑,其實可以只寫專案名,如docBase="winter",tomcat會自動尋找webapps目錄下的winter專案下的index.*作為主頁。圖中的docBase其實是tomcat預設的。path置空即可。reloadable在開發階段設為true即可,每次修改檔案,tomcat會自動更新。使用階段設為false提高效率。
*配置首頁預設檔案。這個一般不用管。。 編輯/opt/tomcat/conf/下的web.xml。這一步一般tomcat都已經自帶了,可以自行檢查一下圖片上的內容有沒有,應該在檔案的最後部分。如果沒有,就加上。注意,伺服器會優先訪問第一個(index.html)即先寫那個優先哪個,不存在時,會嘗試訪問下一個。
上述都儲存好後,進入/opt/tomcat/bin/目錄下,執行下面的命令開啟tomcat服務
sh startup.sh
如果執行失敗,說明許可權不足,執行一下語句增加許可權:
chmod 777 *.sh
至此,tomcat配置成功。直接在瀏覽器訪問你的ip就可以看到自己的主頁了。
如果想關閉tomcat,執行shutdown.sh
sh /opt/tomcat/bin/shutdown.sh
注意:如果啟動tomcat後訪問ip或域名進不去,請稍等一會,可能啟動較慢。我遇到好幾次,等了一會就可以了。如果你設定的埠號不是80,那麼必須訪問 ip:埠號。並且必須在阿里雲伺服器防火牆選項裡增加自定義規則。
設定tomcat開機自啟動:
進入/opt/tomcat/bin並執行
cp catalina.sh /etc/init.d/
然後進入/etc/init.d/,給剛才複製的檔案改個好記的名字
mv catalina.sh tomcat
然後需要改一下內容
vim /etc/init.d/tomcat
在開始位置增加兩行,分別代表tomcat的路徑,jdk的路徑。下面是我的路徑,請根據自己的實際情況修改。
CATALINA_HOME=/opt/tomcat
JAVA_HOME=/opt/java/jdk1.8.0_191
然後設為開機自啟項,執行後可能會有兩個警告,不用管:
update-rc.d -f tomcat defaults
最後重啟伺服器,看一看tomcat是不是開著的(程序名是java)
reboot
systemctl status tomcat
"tomcat"是你的 CATALINA_HOME的值。如果出現下面的畫面,則表示tomcat已開啟:
6.資料庫mysql的部署
一切的開始~
sudo apt-get update
安裝mysql:
sudo apt-get install mysql-server mysql-client
遇到詢問是否繼續,按Y並回車,遇到設定密碼,設定mysql的root使用者初始密碼。
然後試一下重啟mysql是不是可以的。
sudo service mysql restart
最後登入mysql,執行下面語句後提示輸入密碼,輸入剛才安裝mysql時設定的密碼
mysql -u root -p
登陸成功後就進入了字元操作介面:
伺服器端的mysql佈置完了,但是總是遠端訪問命令列操作很麻煩。。下面用Navicat軟體實現遠端連線。
先自行百度下載軟體 Navicat for MySQL
伺服器端登入mysql (輸入密碼)
mysql -u root -p
1、修改user表:MySQL>update user set host = '%' where user = 'root';
2、授權主機訪問:MySQL>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的root密碼' WITH GRANT OPTION;
3、重新整理許可權:MySQL>FLUSH PRIVILEGES;
4、退出:MySQL>EXIT;
然後執行下面語句,可以看到埠3306的資訊(資料庫mysql專用埠)
netstat -an | grep 3306
如果看到的不是下面的內容,就需要修改檔案 mysql.conf.d/mysqld.cnf
執行語句:grep -R address * 可以看到下面內容,由於我是修改過的,故最後是0.0.0.0,你的未修改的應該是127.0.0.1表示僅允許本機訪問,你要 修改 /etc/mysql/mysql.conf.d/mysqld.cnf檔案,找到變數bind-address,修改值為0.0.0.0表示允許任何ip訪問。
然後你可以看一下mysql的使用者表,依次執行:
mysql -u root -p
mysql> use mysql
mysql> select user,host from user;
如果看到使用者root的host是%,則證明該使用者可以接受任意主機的遠端訪問了。若不是,請從上面的步驟中尋找原因。
改好之後,重啟一下mysql服務:
sudo /etc/init.d/mysql restart
看似大功告成了,但是雲伺服器還需要在安全組裡允許3306埠訪問!!!在阿里雲控制檯左側欄找安全組或者防火牆,新增一條規則,使得埠3306是允許訪問了,這才ok~
現在在我自己的電腦上開啟Navicat軟體,點選左上角連線,並填寫。