天天看點

nginx使用操作應用場景操作步驟

應用場景

當在使用nginx的時候,不是僅僅部署一個空的nginx就可以了,而是需要和具體的業務系統接入。

操作步驟

1. 配置Nginx

配置conf:
 # vi /usr/local/nginx/conf/nginx.conf

配置檔案上傳子產品,在配置檔案中找到如下章節位置,修改紅色标注部分為生産環境中伺服器IP位址,
#####################檔案上傳伺服器配置(項目組生産環境需要修改)-START############
upstream epointjweb_file {
server 192.168.202.5:8090; #配置檔案上傳下載下傳伺服器
}

#####################檔案上傳伺服器配置-END########################
配置項目上負載伺服器,在配置檔案中找到如下配置節點,根據項目的應用location和upstream節點。
#####################項目組業務伺服器配置-START###########################
#注:以下是示例配置,結合項目實際具體配置

upstream epointjweb {
server 192.168.202.4:8090; #WEB伺服器IP
server 192.168.202.5:8090;
}

#####################項目組業務伺服器配置-END############################
##################項目組應用URL配置-START##########################

#注:以下是執行個體配置,結合項目實際具體配置
location /appurl { # appurl為通路應用的URL
         proxy_pass  http://epointjweb; 這裡紅色标注的為對應後端RS伺服器upstream名稱
  }

##################項目組應用URL配置-END##########################
重新開機服務

# service nginx restart           

2. 配置Session共享

配置應用xml增加以下過濾器
注:此過濾器必須是web.xml中的第一個過濾器!
<!--叢集配置 begin -->

<filter>
     <display-name>ClusteredSessionFilter</display-name>
     <filter-name>ClusteredSessionFilter</filter-name>
 <filter-class>com.epoint.clustered.session.ClusteredSessionFilter</filter-class>
 <init-param>
    <param-name>maxInactiveInterval</param-name>
    <param-value>1800</param-value>
 </init-param>

</filter>
<filter-mapping>
<filter-name>ClusteredSessionFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!--叢集配置 end -->
 在配置Session共享之前請按照架構部署方案正确安裝與配置redis,檢查redis是否添加了密碼配置和綁定IP配置,配置的步驟參照Redis的部署文檔。建議項目在開始就将redis加入密碼,因為沒有密碼的redis在系統漏洞掃描中會認為是高危漏洞被掃描出。
 配置property緩存服務
#redis連接配接字元串配置:redis://host:port/dbIndex或者 redis://user:password@host:port/dbIndex
redisSetting= redis://username:[email protected]:6379/0

#注:這裡的使用者名為epoint,password填寫redis的密碼,ip位址替換為redis伺服器位址,端口為redis端口,預設為6379,不可為空必須填寫;dbindex為資料庫辨別,叢集内相同的應用填寫同一個dbindex以達到session共享的目的。

#架構緩存實作政策,當配置了上面redis參數時,架構緩存實作将會切換到redis,預設是eh的.當你想強制指定緩存實作政策時,你可以配置下面的參數值為redis、eh
cacheImpl=eh           

連接配接字元串配置說明:

參數 參考值 說明
host redis緩存資料庫伺服器位址,高可用模式下需配置為keepalived虛拟ip
port 6379 監聽端口,預設端口為6379
user 使用者名
password 密碼
dbIndex 資料庫示例辨別,redis預設開啟了16個資料庫,即0~15

3. FAQ

3.1 編譯異常

安裝時缺少c編譯器:configure: error: no acceptable C compiler found in $PATH?
 # yum install gcc

安裝時缺少pcre、gzip、openssl等類庫?
 # yum install pcre-devel
 # yum install zlib zlib-devel
 # yum install openssl openssl-devel           

3.2 安裝異常

安裝nginx時提示Public key for nginx-1.8.0***.rpm is not installed?
加上"--nogpgcheck"參數
 # yum -y localinstall nginx-1.8.0-1.el6.ngx.x86_64.rpm --nogpgcheck

安裝keepalived時提示configure: error: No SO_MARK declaration in headers?
加上"--disable-fwmark"參數
 # ./configure --disable-fwmark           

3.3 配置防火牆

如果必須開啟防火牆,請開啟必要的端口。
注:規則需添加在22端口規則後reject規則之前!
配置端口
 # vi /etc/sysconfig/iptables
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT

重新開機防火牆
 # service iptables restart