天天看點

網站部署到伺服器方案一:Javaweb項目

自己寫了網站

自己買了伺服器CentOS7.4

自己買了域名

自己進行了域名備案

那麼怎麼把網站放在伺服器上,今天我們來探索。。。

方案一:Javaweb項目

1、首先遠端連接配接伺服器參考我的文章,Xshell 遠端連接配接阿裡雲Linux 伺服器

2、在伺服器上安裝資料庫,MySQL。參考文章,Linux安裝MySQL

3、準備:

CentOS 7.4 系統預設開啟了防火牆。您可以關閉防火牆,也可以參考官網文檔在防火牆裡添加規則,放行 80、443 或 8080 端口入方向規則。

       關閉防火牆:

systemctl stop firewalld.service
           

      關閉防火牆開機自啟動功能:

systemctl disable firewalld.service
           

3、在伺服器上安裝jdk,參考文章在CentOS7.4中安裝jdk的幾種方法及配置環境變量

網站部署到伺服器方案一:Javaweb項目

4、 安裝Tomcat

(1)建立一個你知道的檔案

建立網站根目錄:

mkdir -p /data/wwwroot/default
           

建立 Tomcat 測試頁面:

echo Tomcat test > /data/wwwroot/default/index.jsp

chown -R www.www /data/wwwroot
           

上述建立檔案夾,這個我在後面說,原因。

我在根目錄下建立了data/software_kit

mkdir -p /data/software_kid
           

(2)進入該檔案夾,下載下傳擷取裝包,這個安裝包是阿裡提供的。

阿裡部署檔案中說:

網站部署到伺服器方案一:Javaweb項目

 點選下面那個“您可以在 https://mirrors.aliyun.com/apache/tomcat/tomcat-8/” 目錄下擷取合适的安裝包

這個連結點開樣子如圖:

網站部署到伺服器方案一:Javaweb項目

進入頁面後點選v.8.0.53後樣子如圖:

網站部署到伺服器方案一:Javaweb項目

進入頁面後點選  bin/  後樣子如圖:

網站部署到伺服器方案一:Javaweb項目

是以得到連結是:uml 連結 + apache-tomcat-    +   版本号      +    .tar.gz

例如本次我下載下傳的就是:https://mirrors.aliyun.com/apache/tomcat/tomcat-8/v8.0.53/bin/apache-tomcat-8.0.53.tar.gz

wget https://mirrors.aliyun.com/apache/tomcat/tomcat-8/v8.0.53/bin/apache-tomcat-8.0.53.tar.gz
           

wget 是把檔案下載下傳到目前目錄。我們現在在的目錄是  /data/software_kid

下載下傳完成後,檢視檔案已經存在。

網站部署到伺服器方案一:Javaweb項目

(3) 解壓檔案

tar xzf apache-tomcat-8.0.53.tar.gz
           
網站部署到伺服器方案一:Javaweb項目

(4)移動檔案

mv apache-tomcat-8.0.53 /usr/local/tomcat/
           

(5)重命名 Tomcat 目錄,,并設定使用者權限。 這個不是很懂,但是還是有這個操作的好

chown -R www.www /usr/local/tomcat/
           

(6)去看看目錄結構

cd /usr/local
ls
           

進入到Tomcat檔案夾

網站部署到伺服器方案一:Javaweb項目

目錄說明:

在 /usr/local/tomcat/ 目錄裡:

  • bin 目錄中存放 Tomcat 的一些腳本檔案,包含啟動和關閉 Tomcat 服務腳本。
  • conf:存放 Tomcat 伺服器的各種全局配置檔案,其中最重要的是 server.xml 和 web.xml。
  • webapps:Tomcat 的主要 Web 釋出目錄,預設情況下把 Web 應用檔案放于此目錄。
  • logs:存放 Tomcat 執行時的日志檔案。

 (7)配置 server.xml 檔案:

此處說明配置server原因:為了讓根目錄轉移為我們建立的  “/data/wwwroot/default”  目錄為根目錄

此處xml配置參考:tomcat之server.xml詳解   或   他的轉載文章   tomcat之server.xml詳解

我們這隻說明一句:詳細參考對照我們給出配置代碼。

網站部署到伺服器方案一:Javaweb項目

切換到 /usr/local/tomcat/conf/ 目錄:

cd /usr/local/tomcat/conf/
           

重命名 server.xml 檔案:

mv server.xml server.xml_bk
           

建立一個新的 server.xml 檔案:

運作指令

vi server.xml
           

單擊 

i

 鍵進入編輯模式。

添加以下配置内容:

<?xml version="1.0" encoding="UTF-8"?>
<Server port="8006" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener"/>
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>
<Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener"/>
<Listener className="org.apache.catalina.core.AprLifecycleListener"/>
<GlobalNamingResources>
<Resource name="UserDatabase" auth="Container"
 type="org.apache.catalina.UserDatabase"
 description="User database that can be updated and saved"
 factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
 pathname="conf/tomcat-users.xml"/>
</GlobalNamingResources>
<Service name="Catalina">
<Connector port="8080"
 protocol="HTTP/1.1"
 connectionTimeout="20000"
 redirectPort="8443"
 maxThreads="1000"
 minSpareThreads="20"
 acceptCount="1000"
 maxHttpHeaderSize="65536"
 debug="0"
 disableUploadTimeout="true"
 useBodyEncodingForURI="true"
 enableLookups="false"
 URIEncoding="UTF-8"/>
<Engine name="Catalina" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
  resourceName="UserDatabase"/>
</Realm>
<Host name="localhost" appBase="/data/wwwroot/default" unpackWARs="true" autoDeploy="true">
<Context path="" docBase="/data/wwwroot/default" debug="0" reloadable="false" crossContext="true"/>
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt" pattern="%h %l %u %t &quot;%r&quot; %s %b" />
</Host>
</Engine>
</Service>
</Server>
           

這裡有一處,他是把配置檔案重寫了。

網站部署到伺服器方案一:Javaweb項目

按 

Esc

 鍵退出編輯模式,輸入 

:wq

 儲存并退出檔案。 

(8)設定 JVM 記憶體參數:

運作指令 ,為了是建立 /usr/local/tomcat/bin/setenv.sh

vi /usr/local/tomcat/bin/setenv.sh
           

按 

i

 鍵進入編輯模式。

添加以下内容:

JAVA_OPTS=’-Djava.security.egd=file:/dev/./urandom -server -Xms256m -Xmx496m -Dfile.encoding=UTF-8’
           

按 

Esc

 鍵退出編輯模式,輸入 

:wq

 儲存并退出檔案。

(9)設定 Tomcat 自啟動腳本

cd /data/software_kit/
           

去下載下傳檔案,我目的是為了把下載下傳的檔案統一放在同一個檔案夾下。

網站部署到伺服器方案一:Javaweb項目

移動并重命名腳本

mv Tomcat-init /etc/init.d/tomcat
           
網站部署到伺服器方案一:Javaweb項目

添加執行權限

chmod +x /etc/init.d/tomcat
           

 運作以下指令,設定啟動腳本 JAVA_HOME。

sed -i 's@^export JAVA_HOME=.*@export JAVA_HOME=/usr/java/jdk1.8.0_141@' /etc/init.d/tomcat
           

設定自啟動。

  1. chkconfig --add tomcat

  2. chkconfig tomcat on

啟動 Tomcat。

  1. service tomcat start

遇到問題一:阿偶!!!!!!

服務未啟動

網站部署到伺服器方案一:Javaweb項目

 什麼情況!!!!!來到log日志檢視報錯資訊

網站部署到伺服器方案一:Javaweb項目

說是沒有找到jdk,對了我的jdk是預設安裝路徑不對,修改去。。 

/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64

這個是我 cd 到對應檔案夾找到的對應的檔案名 對應版本不同檔案名不同。

修改自啟Tomcat位置的設定

sed -i 's@^export JAVA_HOME=.*@export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64/@' /etc/init.d/tomcat
           
網站部署到伺服器方案一:Javaweb項目

效果如下: 

網站部署到伺服器方案一:Javaweb項目

 服務啟動了,但是網頁進不去。。。

網站部署到伺服器方案一:Javaweb項目

8080端口已經開通 

找到解決方法:

網站部署到伺服器方案一:Javaweb項目

(1)打開阿裡雲

網站部署到伺服器方案一:Javaweb項目

 (2)進入設定,加入安全組

網站部署到伺服器方案一:Javaweb項目

3、進入配置規則

網站部署到伺服器方案一:Javaweb項目

 4、輸入文字

網站部署到伺服器方案一:Javaweb項目

5、完成,重新整理網頁,成功

網站部署到伺服器方案一:Javaweb項目

遇到問題二:

問題随之而來 ,沒有問題了,我是把配置檔案給改回原來配置檔案了

此處說明:就是文章上面提到修改的站點根目錄。

網站部署到伺服器方案一:Javaweb項目

由此就能的到:我們編輯好的站點放在站點根目錄就好了。在xml配置是我們有一句話是

<Host name="localhost" appBase="webapps"    
       unpackWARs="true" autoDeploy="true"    
       xmlValidation="false" xmlNamespaceAware="false">
           

unpackWARs:設定為true,在Web應用為*.war是,解壓此WAR檔案.     

               如果為true,則tomcat會自動将WAR檔案解壓;否則不解壓,直接從WAR檔案中運作應用程式.

好啦,經過7個小時我們終于搞定了Javaweb的線上部署。開心!謝謝。 

再次操作放入自己的靜态網頁,需要修改xml檔案為

<?xml version="1.0" encoding="UTF-8"?>
<Server port="8006" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener"/>
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>
<Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener"/>
<Listener className="org.apache.catalina.core.AprLifecycleListener"/>
<GlobalNamingResources>
<Resource name="UserDatabase" auth="Container"
 type="org.apache.catalina.UserDatabase"
 description="User database that can be updated and saved"
 factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
 pathname="conf/tomcat-users.xml"/>
</GlobalNamingResources>
<Service name="Catalina">
<Connector port="8080"
 protocol="HTTP/1.1"
 connectionTimeout="20000"
 redirectPort="8443"
 maxThreads="1000"
 minSpareThreads="20"
 acceptCount="1000"
 maxHttpHeaderSize="65536"
 debug="0"
 disableUploadTimeout="true"
 useBodyEncodingForURI="true"
 enableLookups="false"
 URIEncoding="UTF-8"/>
<Engine name="Catalina" defaultHost="localhost">
 <Realm className="org.apache.catalina.realm.LockOutRealm" />
 <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
 <Host name="localhost" appBase="/data/wwwrooot/default" unpackWARs="true" autoDeploy="true">
     <Context path="" docBase="/data/wwwroot/default" debug="0" reloadable="false" crossContext="true"/>
     <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="%h %l %u %t &quot;%r&quot; %s %b" />
 </Host>
 <Host name="www.****.ink" appBase="/data/wwwroot/dafault" unpackWATs="true" autoDeploy="true">
     <Context path="" docBase="/data/wwwroot/default" debug="0" reloadable="false" crossContext="true"/>
      <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="poesy_access_log." suffix=".txt" pattern="%h %l %u %t &quot;%r&quot; %s %b" />
 </Host>

</Engine>
</Service>
</Server>
           

可以通路網頁但是要+:8080,才可以通路。我們做如下操作

等學習了PHP方案我們再玩PHP的

繼續閱讀