從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中工程的配置部署。
注意:
- 線上部署tomcat已經自動設定為服務,並在“5.2啟動tomcat並設定為開機自啟動”中設定為自啟動。
- 各個工程的log4j.properties 日誌配置都需要修改為類似/usr/share/tomcat/WebAgent_log/WebAgent.log
- 各個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地址能夠正確訪問。
總結
至此,你已經學會了伺服器安裝配置,可以開啟你的服務體驗!