FastDFS+nginx+tomcat在linux系統的配置
系統環境:Centos 6.5
nginx版本:nginx-1.8.1
FastDFS版本:FastDFS_v5.05.tar
java版本:jdk-7u80-linux-x64.tar
tomcat版本:apache-tomcat-7.0.78
1.Nginx
1.1 Nginx在Centos上的安裝
nginx是一個使用c語言編寫的應用程式,主要用途是負載均衡和反向代理。作為範圍為:
1、http伺服器。Nginx是一個http服務可以獨立提供http服務。可以做網頁靜態伺服器。
2、虛擬主機。可以實現在一臺伺服器虛擬出多個網站。例如個人網站使用的虛擬主機。
3、反向代理,負載均衡。當網站的訪問量達到一定程度後,單臺伺服器不能滿足使用者的請求時,需要用多臺伺服器叢集可以使用
安裝linux虛擬機器的步驟就不再說了,有興趣的可以自己搜,挺簡單的。首先因為nginx是c語言開發的,所以依賴GCC環境。在centos中,安裝命令如下:
yum install gcc-c++
下載GCC環境。如果是第一次安裝的話,會提示你本機沒有安裝。可以跟著提示安裝,大概5分鐘的樣子就下載好了。除此之外,nginx中的http模組需要用Pcre庫(Perl Compatible Regular Expressions)來解析正則表示式,還需要安裝Pcre庫。安裝命令如下:yum install -y pcre pcre-devel
說明:pcre-devel是使用pcre開發的一個二次開發庫。nginx也需要這個庫。
ngixn使用zlib對http的內容進行解壓和壓縮,也需要安裝這個。安裝命令如下:
yum install -y zlib zlib-devel
nginx不僅支援http,也支援https(http+ssl不懂可以搜尋),所以為了安全,安裝OpenSSL,這是一個強大的安全套接字層密碼庫。安裝命令如下:yum install -y openssl openssl-devel
到這一步,安裝所需要的庫已經好了。我們將nginx的原始碼上傳到伺服器,使用遠端工具SecureCRT(本人機器版本為Version
8.0.4)。
點選下一步
Hostname是IP地址。埠不用改。使用者名稱是就是安裝虛擬機器時候的使用者名稱。連線成功後,輸入
su -
輸入密碼,進入root使用者。按住Alt+P,直接將nginx的原始碼拖過來就可以了。
紅色矩形的就是nginx的目錄。進入目錄:
cd /home/mills
解壓tar -zvxf nginx-1.81.tar.gz
在當前目錄會得到nginx-1.81.tar.gz的資料夾。cd nginx1.8.1
ll
會看到有一個configure的檔案。我們就要先對他進行編譯。不過在編譯之前。我們需要先新建幾個目錄mkdir /var/temp
mkdir /var/temp/nginx
或者使用mkdir -p /var/temp/nginx
都可以達到目的。
建立完畢之後,回到/home/mills/nginx-1.8,1目錄下編譯
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi
之後會有一個MakeFile的檔案。接著輸入先make,執行完畢make install。make
makeinstall
到這裡就安裝完畢了。然後啟動nginx。進入目錄cd /usr/local/nginx/sbin 輸入./nginx
就可以啟動,我們可以在本機上輸入192.168.83.130進行訪問。
看到這個頁面就是說訪問成功了。如果沒有看到,多半是防火牆的事情。輸入
vim /etc/sysconfig/iptables
新增一句-A INPUT -p tcp -m state NEW -m tcp --dport 80 -j ACCEPT
這樣就打開了80埠。vim的使用就不多說了。i插入,:wq儲存退出停止nginx服務,在/usr/local/nginx/sbin目錄下輸入
./nginx -s stop
當修改了nginx服務之後,不用停止在啟動,輸入./nginx -s reload
就可以了1.2 Nginx的配置
在/usr/local/nginx/conf目錄下nginx.conf檔案是nginx的配置檔案。
主要的配置就是server這一塊 # 很重要的虛擬主機配置
server {
listen 80;#監聽的埠
server_name itoatest.example.com;#域名
root /apps/oaapp;#訪問目錄
charset utf-8;#編碼格式
access_log logs/host.access.log main;
#對 / 所有做負載均衡+反向代理
location / {
root /apps/oaapp;
index index.jsp index.html index.htm;#html檔案
proxy_pass http://backend;
proxy_redirect off;
# 後端的Web伺服器可以通過X-Forwarded-For獲取使用者真實IP
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
}
就是說可以從
itoatest.example.com通過80埠訪問,預設開啟root目錄下的index.jsp頁面
修改完要重新載入配置檔案。
有一個很關鍵的地方,我在配置好fastDFS的時候,怎樣都在瀏覽器訪問不到,最後在nginx的配置檔案開頭加上了user root;
就ok了。1.3nginx的反向代理
我們先說說正向代理:就是多個電腦訪問代理伺服器,然後接入網際網路, 這裡面只有一臺伺服器。那麼反過來,反向代理,就有多個伺服器,比如你的電腦訪問一個百度,百度的首頁可能就有50個伺服器,不同的電腦訪問不同的伺服器,這樣就減緩了伺服器的壓力。可以通過多個tomcat來模擬。tomcat的上傳,解壓,還需要有jdk。這些不再敘述。nginx的配置檔案如下: upstream tomcats{
server 192.168.25.148:8080 weight=4
server 192.168.25.148:8081;
}
server {
listen 80;
server_name tomcat.nginxtest.com;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass http://tomcats;
index index.html index.htm;
}
}
當我們通過tomcat.nginxtest.com
訪問伺服器的時候,下面的location就會將請求轉發到tomcats,我們通過upstream定義了tomcats,訪問的就是192.168.25.148:8080,熟悉java
web開發的人知道,這個會訪問Tomcat的首頁。而後面的weight就定義了權重,也就是說,你用同一臺機器訪問500次的話,有400次訪問的是192.168.25.148:8080這個伺服器。預設為1.這就是負載均衡。
先睡覺,明天在寫。
參考文獻:http://seanlook.com/2015/05/17/nginx-install-and-config/