LInux系統伺服器環境部署手冊

Linux伺服器環境部署手冊

1. 環境準備

伺服器兩臺:分別是服務1(10。20。30。39)和服務2(10。20。30。40)。服務1主要是dmz區,部署前端程式碼,安裝nginx服務。服務2主要是內外網區,部署應用程式、redis服務、fastdfs服務(內嵌nginx)等等。注意由於是java環境,需要安裝jdk。

2. 部署步驟

2。1 JDK部分

DMZ區和內網區2臺伺服器都要安裝:

進入/usr/目錄

建立java目錄

上傳jdk-8u181-linux-x64。tar。gz到/usr/java/目錄下

解壓縮 tar -xzvf jdk-8u144-linux-i586。tar。gz

配置環境變數

vi /etc/profile

加入一下內容:

JAVA_HOME=/usr/java/jdk1。8。0_181

PATH=$JAVA_HOME/bin:$PATH

CLASSPATH=。:$JAVA_HOME/lib/tools。jar

export PATH JAVA_HOME CLASSPATH

profile生效

source /etc/profile

驗證:

java -version

2。2 redis部分

內外網伺服器10。20。30。39和10。20。30。40上部署redis部分

Redis叢集的安裝包為redis-soft。tar。gz,其中包含redis5。0。5版本的安裝包及叢集配置,redis叢集安裝在10。20。30。39及10。20。30。40兩臺機器,可按照如下步驟進行redis叢集搭建。

第1步:將redis-soft。tar。gz分別上傳至10。20。30。39及10。20。30。40機器;

第2步:root使用者登入10。20。30。39機器,/etc/hosts檔案中新增redis-host主機名對應的ip為10。20。30。39,如vi /etc/hosts新增

10。20。30。39 redis-host

第3步:解壓redis-soft。tar。gz,解壓後的檔案包括redis-5。0。5。tar。gz、redis-cluster。tar。gz;

第4步:安裝redis,執行如下命令:

tar -zxvf redis-5。0。5。tar。gz

cd redis-5。0。5

檢查依賴gcc、tcl(yum list gcc/tcl)

make

make test

make install

第5步:複製redis叢集配置檔案,執行如下命令:

tar -zxvf redis-cluster。tar。gz

mv redis-cluster /

說明:redis-cluster目錄在根/目錄下;~/redis-cluster,同時修改每個叢集的redis。conf

比如:

bind redis-host

port 7002

protected-mode no

pidfile /home/redis/redis-cluster/redis02/redis_7002。pid

logfile “/home/redis/redis-cluster/redis02/redis_7002。log”

dir /home/redis/redis-cluster/redis02

#masterauth yinqihui

#requirepass yinqihui

修改start-redis-cluster。sh檔案中路徑:

redis-server /home/redis/redis-cluster/redis01/redis。conf

redis-server /home/redis/redis-cluster/redis02/redis。conf

redis-server /home/redis/redis-cluster/redis03/redis。conf

第6步:啟動redis:執行如下命令:

。/redis-cluster/start-redis-cluster。sh

第7步:root使用者10。20。30。40機器,在/etc/hosts檔案中新增redis-host主機名對應的ip為10。20。30。40,如vi /etc/hosts新增10。20。30。40 redis-host,然後操作同以上第3步至第6步;

第8步:建立redis叢集,繼續在10。20。30。40機器上進行,執行如下命令:

redis-cli ——cluster create 10。20。30。39:7001 10。20。30。39:7002 10。20。30。39:7003 10。20。30。40:7001 10。20。30。40:7002 10。20。30。40:7003 ——cluster-replicas 1

redis-cli ——cluster create 20。100。32。59:7001 20。100。32。59:7002 20。100。32。59:7003 20。100。32。60:7001 20。100。32。60:7002 20。100。32。60:7003 ——cluster-replicas 1

注意:建立叢集時會提示確認資訊,輸入時輸入完整的yes;

第9步:redis叢集驗證,繼續在10。20。30。40機器進行,執行如下命令:

redis-cli -h 10。20。30。40 -p 7001 -c

進入redis-cli命令列之後,執行set name zhangsan

再執行get name獲取結果

登入10。20。30。39機器,檢視name的值:

redis-cli -h 10。20。30。39 -p 7001 -c

get name

如果獲取到name的值為zhangsan,則叢集部署成功,否則需要結合日誌查詢原因。

注意:清空防火牆:iptables -F

Redis升級需要重新編譯最新的安裝包即可,其他配置都不變。升級包:redis-6。0。16。tar。gz

重啟reids服務在/usr/local/bin/下面,命令:。/redis-server &

驗證redis的客戶端redis-cli在/usr/local/bin下面

2。3 fastdf部分

內外網伺服器10。20。30。39和10。20。30。40上部署fastdfs部分,在/home下建立資料夾fastdfs(命令:mkdir fastdfs)。

FastDfs叢集的安裝包為fastdfs-soft。tar。gz,其中包括fastdfs5。05相關安裝包及叢集配置檔案,可按照如下步驟進行fastdfs叢集搭建:

第1步:將fastdfs-soft。tar。gz分別上傳至10。20。30。39及10。20。30。40機器;

第2步:root使用者登入10。20。30。39機器,在/etc/hosts中新增tracker1-host及tracker2-host主機名,如vi /etc/hosts新增

10。20。30。39 tracker1-host

10。20。30。40 tracker2-host

第3步:解壓fastdfs-soft。tar。gz,解壓後的檔案包括fdfs-conf、fdfs-soft,其中fdfs-conf是叢集配置檔案,fdfs-soft是fastdfs相關安裝包;

第4步:進入fdfs-soft目錄進行fastdfs相關軟體安裝 cd fdfs-soft;

第5步:安裝libfastcommon,執行如下命令:

cd libfastcommon-1。0。7

。/make。sh

。/make。sh install

第6步:安裝fastdfs,執行命令:

mkdir -p /home/fastdfs/fastdfs/storage

mkdir -p /home/fastdfs/fastdfs/tracker

cd fastdfs-5。05

。/make。sh

。/make。sh install

第7步:複製覆蓋配置檔案及啟動指令碼,進入到fdfs-conf目錄,用fdfs-conf目錄下的fdfs_trackerd及fdfs_storaged覆蓋/etc/init。d/目錄下的這兩個檔案;將fdfs-conf/fdfs/目錄下的配置檔案複製到/etc/fdfs/目錄下

cd fdfs-conf

cp fdfs_storaged /etc/init。d/

cp fdfs_trackerd /etc/init。d/

cp fdfs/* /etc/fdfs/

第8步:root使用者登入10。20。30。40機器,在/etc/hosts中新增tracker1-host及tracker2-host主機名,如vi /etc/hosts新增

10。20。30。40 tracker1-host

10。20。30。40 tracker2-host

然後操作同以上第3步至第7步;

修改 /etc/fdfs/storage_ids。conf

100001 group1 tracker1-host

100002 group1 tracker2-host

修改/etc/fdfs下client。conf、storage。conf中

tracker_server=tracker1-host:22122,tracker_server=tracker2-host:22122

修改/etc/fdfs下tracker。conf中

base_path=/home/fastdfs/fastdfs/tracker

修改/etc/fdfs下mod_fastdfs。conf中

base_path=/home/fastdfs/fastdfs/storage

tracker_server=tracker1-host:22122,tracker_server=tracker2-host:22122

store_path0=/home/fastdfs/fastdfs/storage

第9步:fastdfs叢集驗證,分別啟動10。20。30。39及10。20。30。40的fdfs_trackerd及fdfs_storaged,具體操作如下:

/etc/init。d/fdfs_trackerd start

/etc/init。d/fdfs_storaged start

使用fdfs的檔案上傳工具進行檔案上傳測試(在當前目錄下建立一個a。txt檔案),如

fdfs_upload_file /etc/fdfs/client。conf a。txt

如果螢幕出現group1開頭的檔名,則叢集部署成功,否則需要檢視fastdfs日誌進行具體分析。

第10步:安裝nginx,新增fastdfs的nginx擴充套件模組,操作如下:

cd nginx-1。17。4

。/configure ——add-module=。。/fastdfs-nginx-module/src/ ——with-pcre=。。/pcre-8。43 ——with-zlib=。。/zlib-1。2。11

make

make install

第11步:修改nginx配置並啟動nginx,操作如下:

cd /usr/local/nginx/conf

vi /usr/local/nginx/conf/nginx。conf 下

user root

修改server的監聽埠為29999,增加檔案代理配置:

location ~/group([0-9])/M00 {

root /home/fastdfs/fastdfs/storage/data;

ngx_fastdfs_module;

}

如:

啟動nginx,執行/usr/local/nginx/sbin/nginx

啟動之後可以透過fdfs_upload_file命令上傳檔案並透過nginx代理下載檔案進行驗證,如果異常,請檢視nginx及fastdfs日誌進行問題排查。

安裝完成之後建立軟連結:

ln -s /home/fastdfs/fastdfs/storage/data/ /home/fastdfs/fastdfs/storage/data/M00

驗證:

上傳:fdfs_upload_file /etc/fdfs/client。conf a。txt

下載:curl localhost:29999/group1/M00/00/00/oYYBAGLZDtaAFC2GAAAAEhEgUdU042。txt

響應結果:a。txt中的內容

注意:清空防火牆:iptables -F

Fastdfs中的nginx升級需要重新編譯最新的安裝包即可,其他配置都不變。升級包nginx-1。22。0。tar。gz

升級需要關閉原來nginx服務(kill -9 程序號 ),最後重啟nginx服務(。/nginx)

2。4 nginx部分

需要在伺服器20。12。1。19和20。12。1。20上部署

Nginx相關的安裝包為nginx-deps。tar。gz,其中包括nginx及相關依賴模組的安裝檔案,可按照以下步驟進行安裝:

第1步:將nginx-deps。tar。gz分別上傳至20。12。1。19及20。12。1。20機器上/nginx下;

第2步:root登入20。12。1。19機器進行安裝;

第3步:解壓nginx-deps。tar。gz,解壓後的檔案包括nginx-1。17。4、openssl-1。0。2h、pcre-8。43、zlib-1。2。11;

第4步:安裝nginx,操作如下:

cd nginx-1。17。4

。/configure ——with-openssl=。。/openssl-1。0。2h ——with-pcre=。。/pcre-8。43 ——with-zlib=。。/zlib-1。2。11

make & make install

第5步:結合實際業務情況進行nginx代理配置。

vi /usr/local/nginx/conf/nginx。conf 下

user root

error_log /nginx/logs/error。log;

http:

access_log /nginx/logs/access。log;

upstream fdfs_groups {

server tracker1-host:29999 weight=1 max_fails=2 fail_timeout=30s;

server tracker2-host:29999 weight=1 max_fails=2 fail_timeout=30s;

}

upstream vision-manager {

server tracker1-host:18082;

server tracker2-host:18082;

}

Server:

location / {

add_header X-Frame-Options DENY;

root /home/dmz;

index index。html index。htm;

#deny all;

}

location ~/group1{

proxy_next_upstream http_502 http_504 error timeout invalid_header;

proxy_pass http://fdfs_groups;

expires 30d;

}

/**應用*/

location /application-manager/ {

proxy_pass http://vision-manager;

proxy_set_header Host $host;

proxy_set_header X-Forward-For $remote_addr;

client_max_body_size 500m;

}

第6步:。/nginx

注意:清空防火牆:iptables -F

Nginx升級需要重新編譯最新的安裝包即可,其他配置都不變。升級包nginx-1。22。0。tar。gz

升級需要關閉原來nginx服務(kill -9 程序號 ),最後重啟nginx服務(。/nginx)