安裝依賴
安裝gcc
yum install gcc-c++
因爲安裝NGINX需要先在將官網下載的源碼進行編譯,而編譯的環境依賴gcc
安裝PCRE pcre-devel
yum install -y pcre pcre-devel
PCRE(Perl Compatible Regular Expressions) 是一個Perl庫,包括 perl 兼容的正則表達式庫。nginx 的 http 模塊使用 pcre 來解析正則表達式,所以需要在 linux 上安裝 pcre 庫,pcre-devel 是使用 pcre 開發的一個二次開發庫。nginx也需要此庫。
安裝zlib
yum install -y zlib zlib-devel
zlib 庫提供了很多種壓縮和解壓縮的方式, nginx 使用 zlib 對 http 包的內容進行 gzip ,所以需要在 Centos 上安裝 zlib 庫。
安裝OpenSSL
yum install -y openssl openssl-devel
OpenSSL 是一個強大的安全套接字層密碼庫,囊括主要的密碼算法、常用的密鑰和證書封裝管理功能及 SSL 協議,並提供豐富的應用程序供測試或其它目的使用。
nginx 不僅支持 http 協議,還支持 https(即在ssl協議上傳輸http),所以需要在 Centos 安裝 OpenSSL 庫。
以上的安裝也可以在一個命令中完成
yum install -y gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel
下載ngnix安裝包
cd /tmp
wget -c https://nginx.org/download/nginx-1.10.3.tar.gz
查看是否下載成功
上圖可以看到已經成功下載nginx的安裝包
解壓文件
tar -zxvf nginx-1.10.3.tar.gz -C /usr/local (解壓到指定的目錄)
重命名文件
mv /usr/local/nginx-1.10.3 /usr/local/nginx (mv 同一目錄是重命名,不同目錄是移動)
上圖可以看到重命名成功
nginx安裝
進入ngnix安裝包的解壓目錄,進行安裝
cd /usr/local/nginx
./configure (配置)
make && make install (編譯和安裝)
啓動ngnix
/usr/local/nginx/sbin/nginx (執行nginx的啓動文件)
查看啓動是否成功
netstat -tnlp
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 21690/nginx: master (看到ngnix,代表啓動成功)
這是在本機訪問虛擬機上的linux ip,還訪問不到
配置防火牆
接下來需要對80 端口 修改防火牆的配置
firewall-cmd --zone=public --add-port=80/tcp --permanent
這時候輸入ip,就可以看到提示ngnix安裝成功 的頁面。
下面的是一個示例
使用ngnix配置集羣
這裏的容器是onlyoffce/DocumentServer
首先備份一下配置文件
cp /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf_bak
然後修改: vim /usr/local/nginx/conf/nginx.conf
然後輸入命令 i
使得當前的配置文件處於編輯模式
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
#配置反向代理和upstream資源池
#weight權重相等,實現負載均衡,輪詢處理請求
upstream webserver {
server 192.168.163.129:9010 weight=1;
server 192.168.163.129:9011 weight=2;
}
server {
listen 80;
server_name 192.168.163.129;
location / {
root html;
index index.html index.htm;
#把請求拋向upstream資源池,讓資源池的設備進行處理
proxy_pass http://webserver; # proxy_pass名稱與upstream的名稱對應
#自定義http包的header的host字段,讓代理服務器使用用戶的host去訪問web服務器(不改變http中host的信息);如果不自動以host字段,可能會導致返回400的報錯
proxy_set_header Host $host;
#web端如何記錄用戶ip
proxy_set_header X-Forwarded-For $remote_addr;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
修改完配置之後,重新加載
/usr/local/nginx/sbin/nginx -s reload
在瀏覽器輸入 ip,就會看到轉發到配置的端口,現在onlyoffice在運行