1. 程式人生 > >從Linux系統安裝到Web應用啟動教程

從Linux系統安裝到Web應用啟動教程

概述

  本文講述web應用伺服器安裝配置教程,其中包括:Linux系統安裝,Mysql資料庫安裝配置,Redis安裝配置,Tomcat安裝配置,MongoDB安裝配置,Linux JDK安裝使用,Nginx代理配置等

 

目錄            

一、         linux平臺的安裝及設定... 3

1.         語言的選擇... 3

2.         分割槽的設定... 6

3.         網路設定... 11

二、         mysql的安裝及設定... 12

1、mysql的離線安裝檔案放到linux平臺上的/home目錄下。... 12

2、根據以下順序依次在終端命令列輸入以下命令、安裝mysql的安裝包:... 12

3、重置mysql密碼及訪問許可權... 13

4、修改mysql的配置檔案:... 14

5、開放埠... 15

6、建立資料庫並建立表... 17

7、啟動每日自動全量備份資料... 21

8、設定伺服器/etc/hosts配置... 22

三、         Redis安裝及設定... 24

1.      安裝Redis. 24

2.      測試redis服務是否正常... 24

3.      配置自啟動... 25

4.      其他引數的配置... 26

5.      附錄配置系統服務自啟動redis. 27

四、         MongoDB的安裝及設定... 28

1.      安裝MongoDB. 28

2.      測試MongoDB服務是否正常... 28

3.      新增配置檔案... 29

4.      配置自啟動... 29

5.      其他引數的配置... 32

五、         Jdk安裝及環境變數配置... 33

1.      安裝jdk. 33

2.      JAVA環境變數配置... 33

3.      JAVA環境變數驗證... 33

六、         線上安裝nginx+tomcat. 34

1.      線上安裝nginx. 34

2.      啟動 Nginx. 34

3.      開放防火牆80埠,並檢視nginx的狀態... 34

4.      配置nginx,進行埠(8080到80)的代理轉換... 35

5.      線上安裝tomcat. 36

6.      配置tomcat引數和工程部署... 36

七、         離線tomcat安裝及工程的部署... 37

1、安裝Tomcat。... 37

2、部署工程包。(注意下面指令中tomcat的路徑)... 38

3、配置檔案。... 39

4、更改tomcat的啟動方式為自啟動... 42

5、重啟linux. 44

 

一、  linux平臺的安裝及設定

1. 語言的選擇

選擇中文->簡體中文

 

點選軟體選擇(下圖1)->選擇開發及生成工作站(下圖2)

2. 分割槽的設定

點選我要配置分割槽->完成

 

點選自動建立,如果已經裝過系統,點選自動配置分割槽,然後回收空間,再自動建立。

 

先設定“/”的容量才能重新分配記憶體給“/home”(多餘的容量給“/home”),點選“+”,新增“/home”,在配置掛在點的記憶體時,需要

先新增“/home”掛載點

 

檢視是否成功建立“/home”掛載點,點選完成。

 

點選開始安裝

 

建立root密碼和建立使用者

 

建立root管理員密碼,建議為root

建立使用者名稱和密碼,以具體要求為準

 

等待安裝完成,點選重啟

 

3. 網路設定

選擇自動選擇連線

點選:應用程式->雜項->網路連線->乙太網->編輯->常規->可用時自動連線該網路-儲存

 

關閉自動更新

chkconfig --level 345 yum-updatesd off

 

二、  mysql的安裝及設定

1、mysql的離線安裝檔案放到linux平臺上的/home目錄下。

 

 

 

2、根據以下順序依次在終端命令列輸入以下命令、安裝mysql的安裝包:

(注意:在安裝的第二個檔案包時可能會失敗。原因可能會存在包的衝突:利用命令列rpm -qa|grep mariadb檢視mariadb包是否存在。

可以利用rpm -e mariadb-*的命令進行刪除(寫全包的完整名稱)。若還是無法刪除,就可利用強制刪除命令

rpm -e --nodeps mariadb-*或yum -y remove mariadb-*進行刪除)

(1)rpm -ivh mysql-community-release-el7-5.noarch.rpm

(2)rpm -ivh mysql-community-common-5.6.25-2.el7.x86_64.rpm

 

(3)rpm -ivh mysql-community-libs-5.6.25-2.el7.x86_64.rpm

  

(4)rpm -ivh mysql-community-client-5.6.25-2.el7.x86_64.rpm

  

(5)rpm -ivh mysql-community-server-5.6.25-2.el7.x86_64.rpm( 如果安裝不了後邊加 --nodeps --force)

 

(6)輸入命令service mysqld start啟動mysql服務。

3、重置mysql密碼及訪問許可權

(注意:在修改密碼時需要用到password()函式進行加密。勿忘)

(1)       由於安裝時沒有設定mysql的密碼,不過它的賬戶預設為root。第一步通過該賬號登陸.終端輸入命令:

mysql -u root

 

(2)改變使用者資料庫:mysql>use mysql;

 

(3)修改密碼:mysql>update user set password=password('root') where user='root';

 

(4)重新整理許可權表:mysql> flush privileges;

 

修改其訪問許可權,允許其他的機器進行訪問

(1)mysql>use mysql;

(2)mysql> update user set host='%' where host='127.0.0.1' and user='root';

(3)mysql> grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;

(4)mysql>flush privileges;

結果如上圖,則已成功。

(5)修改完成後退出mysql的編輯模式:mysql>exit

4、修改mysql的配置檔案:

(注意:進入修改時,要按鍵盤I鍵才能插入。修改成功後依次按順序操作:按Esc鍵->冒號->wq->Enter儲存修改的內容)

(1)       利用命令vi /etc/my.cnf 開啟配置檔案。在[mysqld]的節點下新增內容:

event_scheduler=on

log_bin=log_bin

log_bin_trust_function_creators=on

引數名稱

配置值

引數說明

event_scheduler

on

系統需要經資料表分割槽儲存,需要配置該引數,開啟事件排程器。

log_bin

log_bin

開啟資料庫操作的記錄,即增量記錄檔案。可在資料損壞時進行恢復。

log_bin_trust_function_creators

on

開啟log_bin後,遠端或本地執行function,需要開啟log_bin_trust_function_creators。

 

(2)輸入命令service mysqld restart重啟mysql服務。 

 

(3)輸入命令service mysqld status檢視mysql的服務狀態。如果在查詢結果中出現:Active:active(running)即啟動已經成功。

 

5、開放埠

a)         點選:應用程式->雜項->防火牆

配置:選擇永久(下圖第一步)

區域選擇public 在埠處新增開放tomcat伺服器埠:80 、前置機埠:2407、RMI埠:1098、1099

 

b)         配置:選擇永久(下圖第一步)

區域選擇public 在服務處勾選“mysql”。

 

c)         Root使用者登入終端,輸入如下命令回車,重啟防火牆服務,使上面的配置生效。

service firewalld restart

返回資訊如下:

 

d)         Root使用者登入終端,可以通過如下命令啟動,增加開放埠、檢視防火牆開放的所有服務和埠等。

                         i.              檢視防火牆的狀態service firewalld status 或systemctl status firewalld.service

                       ii.              啟動防火牆 service firewalld start 或systemctl start firewalld.service

                      iii.              啟動防火牆後可以檢視防火牆開放的服務和埠firewall-cmd --list-all

返回資訊如下:

Services 後是目前開放的服務;ports後是目前開放的埠號。

 

                      iv.              新增開放埠1098,可以使用如下命令。

        firewall-cmd --zone=public --add-port=1098/tcp --permanent

        firewall-cmd --reload

        可輸入firewall-cmd --list-all 命令檢視是否已經配置生效。

 

                       v.              停止防火牆service firewalld stop 或systemctl stop firewalld.service

 

6、建立資料庫並建立表

(1)建立連線:

利用navicat for mysql軟體創連線到伺服器(視情況而定)。

 

如果連線不成功執行以下命令,並重啟mysql

mysql -u root -p

use mysql; 

UPDATE user SET Password=PASSWORD('密碼') where USER='root';

flush privileges;  

 

(2)通過navicat for mysql 工具連線到伺服器的任意資料庫,新建查詢show variables like '%sche%';執行命令,檢視當前是否已開啟事件排程器。若出現以下第一列的結果則已設定成功。

(3)新建查詢show variables like '%log_bin%';檢視資料庫操作日誌是否記錄。若出現以結果則已設定成功。

 

(4)建立資料庫:

利用navicat for mysql軟體創連線到伺服器資料庫建立名為ChargingStation的資料庫(視情況而定)。

注意:在建立資料庫時,字符集為utf8—UTF-8 Unicode,排序規則為:utf8_general_ci如下圖示:

(5)建立表:

選中以建立好的資料庫,右鍵->執行SQL檔案(如圖1)。去除前面兩條的勾選項(圖2所示第一步)。點選選擇執行指令碼檔案(圖2所示第二步),依次執行指令碼檔案按如下執行順序進行升級 2.0init.sql > 2.0.1 Patch分割槽維護.sql > 2.1_Patch.sql > 2.3_Patch.sql > 2.3.1_Patch_許可權管理基礎.sql > 2.4_Patch.sql > 2.4.1_Patch_SensitiveWord.sql>2.4.2_Patch.sql。匯入2.3.1_Patch_許可權管理基礎.xml(如下圖1所示的九個檔案)。

 

圖1

注意:一定要從上到下執行,2.3和2.4都在2.3.1和2.4.1的後邊。

 

在伺服器進行sql的執行

mysql -uroot -p

密碼

use 資料庫名稱;

set names utf8;

source  /home/add.sql(sql檔案實際路徑);

7、啟動每日自動全量備份資料

(1)root使用者登入伺服器的終端。或通過putty、CRT、Shell等遠端工具連線伺服器。

(2)檢視cront服務執行狀態。預設情況下centos 安裝後會自動安裝此項服務,並且是作為系統服務自動啟動的。systemctl status crond

 

 

(3)檢視crontab內容。

crontab -l

如果顯示結果為空,則表示沒有定期執行的任務

(4)檢視/etc/crontab內容。

cat  /etc/crontab

 

(5)新建備份目錄mysqldump,並將該目錄許可權改為mysql。

mkdir /mysqldump

chown -R mysql:mysql /mysqldump

(6)編輯crontab內容。

crontab  -e

進入編輯介面,以文字方式編寫定期執行的任務,操作方式與純文字編輯器vi相同,編輯完成後按ESC鍵並輸入:wq儲存退出。

Crontab 的內容格式可以參考 /etc/crontab 的內容,以下例子表示在每日的03:00,以root使用者執行後面定義的命令。

SHELL=/bin/bash

PATH=/sbin:/bin:/usr/sbin:/usr/bin

MAILTO=root

0 3 * * * mysqldump --single-transaction --flush-logs -uroot-pEast300376 -R --default-character-set=utf8 ChargingStation>/mysqldump/cs_date.sql

備註:

root           登入備份資料庫的使用者

East300376      登入備份資料庫的密碼

ChargingStation       備份資料庫的名稱

/mysqldump/cs_date.sql         全量備份資料庫檔名稱及存放路徑

 

8、設定伺服器/etc/hosts配置

(1)root使用者登入伺服器的終端。或通過putty、CRT、Shell等遠端工具連線伺服器。

(2)vi /etc/hosts增加如下配置行:

localip   localhost localhost.localdomain localhost4 localhost4.localdomain4

類似如下圖:

 

(3)編輯完成後按ESC鍵並輸入:wq儲存退出

 

三、  Redis安裝及設定

1.      安裝Redis

1)   利用檔案傳輸工具把redis_3.0.6.tar.gz上傳到linux平臺上的/home目錄下。

 

2)   解壓redis檔案。

# cd /home

#tar -xvf redis_3.0.6.tar.gz

執行命令後,可以獲取名為redis-3.0.6的解壓資料夾,解壓後的結果如下。

 

3)   把解壓後的檔案放在/usr/local/src/目錄下,並且將檔名稱更改為redis

# mv redis-3.0.6 /usr/local/src/redis

 

2.      測試redis服務是否正常

# cd /usr/local/src/redis

# ./redis-server redis.conf

新建一個terminal,執行客戶端

# cd /usr/local/src/redis

# ./redis-cli

能進行連線的話會彈出如下的字樣

127.0.0.1:6379>

3.      配置自啟動

4)   在目錄/etc/init.d/下新建一個redis指令碼執行檔案

#cd /etc/init.d/

# vi redis

5)   然後複製以下程式碼,進行儲存

#!/bin/sh

# chkconfig: 2345 10 90

# description: Start and Stop redis

 

PATH=/usr/local/bin:/sbin:/usr/bin:/bin

export PATH

REDISPORT=6379 #可以根據需求改

EXEC=/usr/local/src/redis/redis-server     #改成自己的目錄

REDIS_CLI=/usr/local/src/redis/redis-cli    #改成自己的目錄

PIDFILE=/var/run/redis.pid              #這個一般是預設設定的目錄

CONF="/usr/local/src/redis/redis.conf"    #改成自己的目錄

AUTH="1234"

case "$1" in

start)

if [ -f $PIDFILE ]

then

echo "$PIDFILE exists, process is already running or crashed."

else

echo "Starting Redis server..."

$EXEC $CONF

fi

if [ "$?"="0" ]

then

echo "Redis is running..."

fi

;;

stop)

if [ ! -f $PIDFILE ]

then

echo "$PIDFILE exists, process is not running."

else

PID=$(cat $PIDFILE)

echo "Stopping..."

$REDIS_CLI -p $REDISPORT SHUTDOWN

sleep 2

while [ -x $PIDFILE ]

do

echo "Waiting for Redis to shutdown..."

sleep 1

done

echo "Redis stopped"

fi

;;

restart|force-reload)

${0} stop

${0} start

;;

*)

echo "Usage: /etc/init.d/redis {start|stop|restart|force-reload}" >&2

exit 1

esac

6)   設定redis指令碼的執行命令:

# chmod 775 redis

7)   啟動測試:

# /etc/init.d/redis start

啟動成功會提示如下資訊或者停留在redis服務的介面:

Starting Redis server…
Redis is running…

8)   使用redis-cli客戶端測試(如果是啟動redis服務端的時候,停留在伺服器介面,需要另外啟動一個terminal介面進行客戶端操作):

# ./usr/local/src/redis/redis-cli

# set foo bar

返回“OK”成功的標記

# get foo

獲取到的結果”bar”

# exit

9)         設定開機自啟動:
#chkconfig redis on

10)  關機重啟測試:
#reboot

到了這一步,正常情況是可以開機自啟動了,但是在測試的時候使用service redis stop/restart/start 指令時失敗了。原因是提示未找到redis.pid的檔案,該檔案的生成需要將redis服務設定為守護執行才會有即配置檔案裡的“daemonize”引數,設定為yes就行了。具體可以檢視第三步的其他引數配置

4.      其他引數的配置

進入redis的配置檔案,注意配置檔案中的引數值字串不需要加“”或者‘’,配置檔案的引數配置格式都是:“引數名+空格+引數值”

# vi redis.conf

1)   查詢“daemonize”(以下引數設定均可通過該查詢方式進行查詢),將daemonize設定為”yes”

2)   為了安全著想,建議將預設埠修改一下,例如我的埠設定為36912,查詢“port”引數,將6379改為36912(可以自定),另外需要修改/etc/init.d/redis的啟動指令碼,將埠號6379修改為36912(自定埠號否則無法使用service redis start/stop/restart的指令)

3)   還需要設定一個引數就是資料庫的持久化引數為“appendonly” 將值設定為“yes”。

4)   最後一個是安全金鑰的認證,redis預設是沒有密碼的,因此密碼引數requirepass是被註釋掉的,找到requirepass foobared字串,在其下面新增自己的金鑰設定“requirepass 123456”即可。並且需要在啟動指令碼/etc/init.d/redis替換如下一句。否則無法正常使用service redis start/stop/restart等指令(其中-a 表示認證密碼,123456表示設定的金鑰
原句:$REDIS_CLI -p $REDISPORT SHUTDOWN
改為:$REDIS_CLI -p $REDISPORT -a 123456 SHUTDOWN

5)   最後重啟一下Redis,重啟前請確保是否嚴格執行上面的第四步金鑰認證的設定。

# service redis restart

進入到redis客戶端的目錄下執行客戶端(需要加引數執行-h IP -p 埠號 -a 金鑰)如下所示,否則不能進或者進入之後沒許可權操作。

# ./redis-cli -h 127.0.0.1 -p 6500 -a 123546

5.      附錄配置系統服務自啟動redis

配置 redis 為服務,使其開機自啟動,在 /usr/lib/systemd/system 目錄下新建一個 redis.service 檔案,內容如下(若干路徑和檔名等與自己不一至時請自己修改):

[Unit]

    Description=Redis

    After=syslog.target network.target remote-fs.target nss-lookup.target

    [Service]

    Type=forking

    PIDFile=/var/run/redis.pid

    ExecStart=/usr/local/src/redis/redis-server /usr/local/src/redis/redis.conf

    ExecReload=/bin/kill HUP $MAINPID

    ExecStop=/usr/local/src/redis/redis-cli shutdown

    PrivateTmp=true

    [Install]

WantedBy=multi-user.target

在命令列視窗執行以下命令:
設定為開機自啟動

#systemctl enable redis

啟動 redis 服務

#systemctl start redis

停止 redis 服務

#systemctl stop redis

 

四、  MongoDB的安裝及設定

1.      安裝MongoDB

1)   利用檔案傳輸工具把mongodb-linux-x86_64-rhel70-3.4.1.tgz上傳到linux平臺上的/home目錄下。

 

2)   解壓MongoDB檔案。

# cd /home

# tar-xvf mongodb-linux-x86_64-rhel70-3.4.1.tgz

執行命令後,可以獲取名為mongodb-linux-x86_64-rhel70-3.4.1的解壓資料夾,解壓後的結果如下。

3)   把解壓後的檔案放在/usr/local/src/目錄下,並且將檔名稱更改為mongodb

# mv mongodb-linux-x86_64-rhel70-3.4.1 /usr/local/src/mongodb

2.      測試MongoDB服務是否正常

1)   由於MongoDB不會自動建立資料檔案的目錄,但它預設的路徑又是/data/db,所以一開始的時候需要手動建立該資料夾目錄。因此需要到根目錄下新建該目錄,再啟動服務。

# cd /

# mkdir data

# cd data

# mkdir db

# cd /usr/local/src/mongodb/bin

# ./mongod

2)   新建一個terminal,執行客戶端

# cd /usr/local/src/mongodb/bin

# ./mongo

3)   能進行連線的話會彈出 如下的字樣

MongoDB shell version v3.4.1

connecting to: mongodb://127.0.0.1:27017

MongoDB server version: 3.4.1

……

 

 

3.      新增配置檔案

4)   MongoDB的安裝檔案好像已經沒有自帶的配置檔案了。因此需要手動新建一個配置檔案mongo.conf。將配置檔案放在mongodb的目錄下(可以自定義路徑)

# cd /usr/local/src/mongodb/

# vi mongo.conf

5)   複製以下程式碼到配置檔案

dbpath=/data/db  #指定資料庫的儲存路徑

logpath=/data/mongodb.log#指定資料庫操作的日誌記錄

        logappend = true   #設定是否進行日誌記錄

bind_ip=0.0.0.0

port=27017    #埠

fork=true     #後臺執行資料庫

nohttpinterface=false#該值為true即可通過網頁的形式訪問mongoDB

pidfilepath=/var/run/mongod.pid  #pid的檔案目錄

auth=false #是否需要密碼認證,剛開始該值設定為false,在資料庫新增使用者後再設定為true即可

 

4.      配置自啟動

1)   在目錄/etc/init.d/下新建一個MongoDB指令碼執行檔案

#cd /etc/init.d/

# vi mongod

2)   然後複製以下程式碼,進行儲存

#!/bin/sh

# chkconfig: 2345 10 90

# description: Start and Stop mongo

PATH=/usr/local/bin:/sbin:/usr/bin:/bin

export PATH

PORT=27017

CONFIG=/usr/local/src/mongodb/mongo.conf

PROGRAM=/usr/local/src/mongodb/bin/mongod

PIDFILE=/var/run/mongod.pid

case "$1" in

start)

if [ -f $PIDFILE ]

then

echo "$PIDFILE exists, process is already running or crashed."

else

echo "Starting mongo server..."

                        $PROGRAM -f $CONFIG

fi

if [ "$?"="0" ]

then

echo "mongod is running..."

fi

                ;;

stop)

if [ ! -f $PIDFILE ]

then

echo "$PIDFILE exists, process is not running."

else

                        PID=$(cat $PIDFILE)

echo "Stopping..."

                        /usr/local/src/mongodb/bin/mongo 127.0.0.1:$PORT/admin --eval "db.shutdownServer()"

sleep 5

rm -rf $PIDFILE

while [ -x $PIDFILE ]

do

echo "Waiting for mongod to shutdown..."

sleep 1

done

echo "mongod stopped"

fi

                ;;

restart|force-reload)

  ${0} stop

  ${0} start

                ;;

 *)

echo "Usage: /etc/init.d/mongod {start|stop|restart|force-reload}" >&2

exit 1

esac

 

 

3)   設定mongodb指令碼的執行命令:

# chmod u+x mongod

4)   啟動測試:

# /etc/init.d/mongod start

5)   啟動成功會提示如下資訊或者停留在mongoDB服務的介面:

 

6)   使用客戶端測試(如果是啟動MongoDB服務端的時候,停留在伺服器介面,需要另外啟動一個terminal介面進行客戶端操作):

# cd /usr/local/src/mongodb/bin/

# ./mongo

> show dbs

 

7)   返回資訊為以下字樣
admin 0.000GB
local 0.000GB

>exit

8)         設定開機自啟動:
#chkconfig --add mongod

9)         關機重啟測試:
#reboot

5.      其他引數的配置

主要是安全設定,資料庫的金鑰設定。預設mongoDB服務端和客戶端都已啟動好。直接在客戶端操作

1)   首先是設定admin庫的金鑰,使用者名稱“root”,金鑰“root”,許可權“root”,資料庫“admin”。

>use admin

>db.createUser({user: "root", pwd: "root", roles: [{role: "root", db: "admin"}]})

2)   新建一個數據庫名字叫“monitor”,新建的庫如果不插入一些文件無法檢視,因此這裡隨便插入一些文件,然後檢視資料庫(show db)就可以看到monitor資料庫了

>use monitor

>db.monitor.insert({"name":"aaa"})

>show dbs

3)         給剛才新建的monitor資料庫建立一個密碼和使用者名稱。

>use monitor

>db.createUser({user: "monitor", pwd: "monitor", roles: [{role: "readWrite", db: "monitor"}]})

 

4)   修改配置檔案(mongo.conf)的是否啟用驗證功能,將auth=false改為auth=true。當auth=true的時候需要修改/etc/init.d/mongod的配置,替換如下一句即可。如果沒有替換不能使用service mongod start/stop/restop/的指令且會出異常。(其中-u -p 指admin庫的使用者名稱和密碼,許可權需要能夠執行db.shutdownServer()的方法,畢竟admin庫可能新增只有讀許可權的使用者,這裡建議admin統一隻加一個root許可權的使用者就行了)

原句: /usr/local/src/mongodb/bin/mongo 127.0.0.1:$PORT/admin --eval "db.shutdownServer()"

改為:/usr/local/src/mongodb/bin/mongo 127.0.0.1:$PORT/admin -u root -p root --eval "db.shutdownServer()"

5)   修改埠號,直接將mongo.conf和指令碼/etc/init.d/mongod的port引數改成自定義的埠號就行了。另外在測試的時候在使用客戶端需要加上埠號否則會提示連線失敗,連線之後進入資料庫進行使用者密碼驗證。

#cd /usr/local/src/mongodb/bin/

# ./mongo 127.0.0.1:PORT(PORT=自定義埠號)

> use admin(admin為資料庫名)

> db.auth("root","root")(前邊root為使用者後邊root為密碼)

6)   MongoDB也提供了IP定向繫結的功能,可以將mongoDB繫結固定的IP請求白名單,如果綁定了,只能由繫結的IP去連線mongoDB,其他IP無法訪問。直接將mongo.conf的bind_ip改成自定義的IP就好了。

 

五、      Jdk安裝及環境變數配置

1.      安裝jdk

(1)利用檔案傳輸工具jdk-7u51-linux-x64.tar.gz把傳輸到linux平臺上、建議放到/home的根目錄下。

 

(2)解壓jdk檔案

tar-zxvf jdk-7u51-linux-x64.tar.gz

執行命令後,可以獲取名為jdk1.7.0_51的解壓資料夾解壓後的結果如下。 

 

2.      JAVA環境變數配置

vi .bash_profile 增加如下內容:

export LANG=en_US.UTF-8

umask 002

 

export  JAVA_HOME=/home/jdk1.7.0_51

export  CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export  PATH=$JAVA_HOME/bin:$PATH

export  JRE_HOME=$JAVA_HOME/jre

編輯完成後按ESC鍵並輸入:wq儲存退出。

儲存退出後,執行

source .bash_profile

JAVA環境變數驗證

java -version

返回如下內容,說明java配置成功。

[[email protected] ~]# java -version

java version "1.7.0_51"

Java(TM) SE Runtime Environment (build 1.7.0_51-b13)

Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)      

六、      線上安裝nginx+tomcat

1.      線上安裝nginx

超級使用者root登陸伺服器,確保伺服器能上外網。逐條執行如下命令:

$ sudo rpm --import http://nginx.org/keys/nginx_signing.key

$ sudo rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

$ sudo yum install nginx

2.      啟動 Nginx

超級使用者root登陸伺服器,啟動nginx並設定為開機自啟動。

$ sudo systemctl start nginx

$ sudo systemctl enable nginx  //systemctl disable nginx(不啟動)

 

3.      開放防火牆80埠,並檢視nginx的狀態

開啟防火牆80埠:

$ sudo firewall-cmd --zone=public --add-port=80/tcp --permanent

$ sudo firewall-cmd --reload

 

檢視nginx的執行狀態:

$ sudo systemctl status nginx

 

/* 安裝完成後可以用 whereis nginx 檢視nginx的各個部分在什麼目錄 */

瀏覽器輸入伺服器ip地址,回車顯示如下介面。說明nginx已經正在執行。

 

 

4.      配置nginx,進行埠(8080到80)的代理轉換

4.1  進入/etc/nginx/conf.d目錄,新建主機檔案,檔名稱以.conf結尾,內容如下。配置完成後儲存退出。

192.168.1.21中127.conf示例配置:

         upstream tomcatserver1 {

                   server localhost:8080;    

         }

         server{

                   listen 80;

                   server_name http://192.168.1.21;

                   location / {

                            proxy_pass http://tomcatserver1;

                   }

         }

 

中山粵盛伺服器112.33.11.155中fyb.conf示例配置:配置將“localhost:8080”訪問直接代理www.gdysyfb.com域名訪問:

         upstream tomcatserver1 {

                   server localhost:8080;    

         }

         server{

                   listen 80;

                   server_name www.gdysyfb.com;

                   location / {

                            proxy_pass http://localhost:8080;

                            proxy_set_header   Host    $host;

                   }

         }

中山粵盛伺服器112.33.11.155中yfb.conf示例:配置將“localhost:8080”訪問直接代理gdysyfb.com域名訪問:

upstream tomcatserver2 {

                   server localhost:8080;    

         }

         server{

                   listen 80;

                   server_name gdysyfb.com;

                   location / {

                            proxy_pass http://localhost:8080;

                            proxy_set_header   Host   $host;

                   }

         }

 

4.2   執行 nginx -t 測試配置檔案是否編寫正確。返回類似如下,配置檔案都是OK或successful即配置正確。

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok

nginx: configuration file /etc/nginx/nginx.conf test is successful

 

4.3   執行 systemctl restart nginx 重啟nginx服務使配置server生效。

這樣的一個檔案表示一個server,可以建立多個,nginx會自動包含所有.conf檔案,建立完成後重啟nginx服務即可。

注意:你可能需要關閉seLinux才能反向代理非80埠。

5.      線上安裝tomcat

5.1 超級使用者root登陸伺服器,確保伺服器能上外網。逐條執行如下命令:

$ yum install tomcat

 

5.2啟動tomcat並設定為開機自啟動。

$ systemctl start tomcat

$ systemctl enable tomcat

 

5.3 開放防火牆8080埠,並檢視tomcat的狀態

開啟防火牆80埠:

$ firewall-cmd --zone=public --add-port=8080/tcp --permanent

$ firewall-cmd --reload

 

檢視tomcat的執行狀態:

$ sudo systemctl status tomcat

 

6.      配置tomcat引數和工程部署

6.1 配置tomcat引數,修改/usr/share/tomcat/conf/server.xml

改變編碼方式。

找到下面的欄位,加上欄位URIEncoding="UTF-8" 改變tomcat的編碼方式。

<Connector port="8080" protocol="HTTP/1.1" URIEncoding="UTF-8"

connectionTimeout="20000"

redirectPort="8443"  compression="on"

compressionMinSize="2048"

compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain,application/json" />

修改不要忘記了儲存退出。Esc->冒號->wq

 

6.2   工程部署,請將war包工程上傳到/usr/share/tomcat/webapps 目錄下。工程中的配置檔案和配置引數請參考離線安裝tomcat中工程的配置部署。

注意:

  1. 線上部署tomcat已經自動設定為服務,並在“5.2啟動tomcat並設定為開機自啟動”中設定為自啟動。
  2. 各個工程的log4j.properties 日誌配置都需要修改為類似/usr/share/tomcat/WebAgent_log/WebAgent.log
  3. 各個Web工程中配置埠號的時候,需要配置8080埠

6.3   配置完成後,執行如下命令重啟工程,使配置生效。

$ systemctl stop tomcat

$ cd /usr/share/tomcat/work

$ rm –rf Catalina

$ systemctl start tomcat

七、      離線tomcat安裝及工程的部署

1、安裝Tomcat。

(1)利用檔案傳輸工具把apache-tomcat-7.0.52.tar.gz傳輸到linux平臺上、建議放到/home的根目錄下。 

在部署tomcat伺服器之前需要對JDK進行檢測,可以在終端輸入命令:java -version 檢視JDK是否有安裝。

  

(2)解壓Tomcat檔案。

tar -zxvf apache-tomcat-7.0.52.tar.gz

執行命令後,可以獲取名為 apache-tomcat-7.0.52 的解壓資料夾解壓後的結果如下。

  

(3)檔案重新命名,把它重新命名為tomcat。

mv apache-tomcat-7.0.52 tomcat

 

修改解壓後的tomcat的server.xml配置檔案、改變埠號和編碼方式。

(4)開啟配置檔案。

vi /home/tomcat/conf/server.xml

 

(5)改變埠號和編碼方式。

找到下面的欄位,修改埠號為80,並加上欄位URIEncoding="UTF-8" 改變tomcat的編碼方式。

<Connector port="80" protocol="HTTP/1.1" URIEncoding="UTF-8"

connectionTimeout="20000"

redirectPort="8443"  compression="on"

compressionMinSize="2048"

compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain,application/json" />

修改不要忘記了儲存退出。Esc->冒號->wq

(6)執行“cd /home/tomcat/bin”進入tomcat目錄,啟動Tomcat。

./startup.sh

(7)驗證tomcat的部署是否成功

開啟瀏覽器輸入伺服器的IP的地址,就可看到有關tomcat伺服器的介面

2、部署工程包。(注意下面指令中tomcat的路徑)

(1)利用檔案傳輸工具把WebAgent.war、WebBusiness和WebMgr.war放到tomcat/webapps的目錄下。

啟動tomcat伺服器。並利用命令列檢視與tomcat相關的程序是否有啟動。

(2)在終端輸入命令:./home/tomcat/bin/startup.sh啟動tomcat伺服器。可以利用命令:ps -ef|grep tomcat檢視tomcat的啟動程序。

 

(3)若tomcat啟動成功,會發現tomcat自動把war工程文件部署到伺服器。檢視文件會發現兩個新的WebAgent、WebBusiness和WebMgr.war的工程資料夾。

 

(4)複製WebAgent下的工程檔案到ROOT目錄下。

在複製之前需要刪除ROOT目錄下的所有檔案執行刪除命令:rm-rf /home/tomcat/webapps/ROOT/* 然後再複製檔案cp -r /home/tomcat/webapps/WebAgent/* /home/tomcat/webapps/ROOT/ 

3、更改tomcat的啟動方式為自啟動

(1)把tomcat/bin目錄下的catalina.sh檔案複製到/etc/init.d/的目錄下,並命名為tomcat。

cp /home/tomcat/bin/catalina.sh /etc/init.d/tomcat

(2)vi /etc/init.d/tomcat開啟檔案。在#!/bin/sh的下面新增如下內容,最後一行是限制java執行記憶體:

#chkconfig:234580 90

#description: Tomcat service auto start

JAVA_OPTS='-server -XX:PermSize=256m -XX:MaxPermSize=512m'

  

在# OS specific support. $var _must_ be set to either true or false.在該行的上面面新增tomcat的路徑和JDK的路徑。

CATALINA_HOME=/home/tomcat

JAVA_HOME=/home/jdk1.7.0_51

 

(2)       儲存退出。按Esc鍵,輸入“:wq”回車。

(3)       新增tomcat服務

#chkconfig --add tomcat //將服務新增到自動啟動列表服務中

(4)       你可以利用在終端輸入:setup檢視tomcat是否自啟動設定成功。

選擇->系統服務會看到tomcat的前面帶有*號,說明自啟動設定成功。

 

(5)       在終端輸入:chkconfig --list |grep tomcat 檢視tomcat服務執行級別。

# chkconfig --list |grep tomcat

返回如下資訊,說明正常。

Tomcat 0:關閉 1:關閉 2:啟用 3:啟用 4:啟用 5:啟用 6:關閉

如果345為關閉狀態。執行如下命令設定tomcat為開機自啟動。

# chkconfig tomcat on

(6)       利用命令:service tomcat stop和service tomcat start 可以停止和啟動tomcat服務。

 

方法二:

linux設定tomcat自動啟動在centos下,開機後會自動執行/etc/rc.local中的命令,平時啟動tomcat的命令為tomcat_home/bin/startup.sh或tomcat_home/bin/catalina.sh start,當直接把他們任何一個加入到/etc/rc.local中,重啟機器後發現tomcat並沒有啟動。原因是開機時java的環境還沒有設定好,故自己寫一個指令碼,先設定java環境,然後在啟動,指令碼如下:

 

複製程式碼 程式碼如下:

 

export JAVA_HOME=/usr/local/jdk1.6.0_30

export PATH=$JAVA_HOME/bin/:$PATH

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$CLASSPATH

export CATALINA_HOME=/usr/local/tomcat-6.0.35/

/usr/local/tomcat-6.0.35/bin/catalina.sh start

 

假設儲存成一個名為auto-startup.sh的檔案存放在/usr/local/tomcat-6.0.35/bin下,然後在/etc/rc.local加入/usr/local/tomcat-6.0.35/bin/auto-startup.sh即可。注意:需要設定auto-startup.sh有執行許可權。

6、重啟linux

利用命令:reboot重啟伺服器。待機器重啟後檢視tomcat的程序已經啟動。利用瀏覽器輸入ip地址能夠正確訪問。

 

總結

  至此,你已經學會了伺服器安裝配置,可以開啟你的服務體驗!