一、Nginx簡介
1.Nginx完全用C語言開發,是一個負載均衡反向代理伺服器
2.支援高達50000個并發連結數的響應
3.Nginx小編讀法:恩歌逆科斯
二、Nginx安裝 (Centos-7)
1.官網下載下傳位址:https://nginx.org/en/download.html
2.或者使用yum安裝
2.1 下載下傳對應目前系統版本的nginx包
wget http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
2.2 建立nginx的yum倉庫
rpm -ivh nginx-release-centos-7-0.el7.ngx.noarch.rpm
2.3 下載下傳并安裝nginx
yum install nginx
2.4 到/etc/nginx目錄執行啟動指令
nginx -c nginx.conf
浏覽器通路位址 伺服器ip:80/index.html 如果看到以下歡迎頁就是啟動成功,如果不是請繼續往下看
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAzNvwVZ2x2bzNXak9CX90TQNNkRrFlQKBTSvwFbslmZvwFMwQzLcVmepNHdu9mZvwFVywUNMZTY18CX052bm9CXzMGVORTWU1keNpHW4Z0MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2LcRHelR3LcJzLctmch1mclRXY39TN2YTNyUjM3EDNyQDM4EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
2.5 如果沒有出現2.4的歡迎頁,請打開防火牆iptables 或者 firewall 開發nginx預設的80端口
iptables開放80端口指令 :
vi /etc/sysconfig/iptables #修改iptables配置檔案
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT #添加主句後eq儲存
service iptables restart #重新開機防火牆使配置生效
firewall開發80端口指令:
firewall-cmd --permanent --add-port=80/tcp #開發80端口
firewall-cmd --reload #重新開機防火牆使配置生效
如果是阿裡雲的伺服器記得要在安全組裡面開放80端口後重新通路 伺服器ip:80/index.html 看是否出現歡迎頁 如果還是沒有出現,請看下面 三、使用和配置
3.常用指令
nginx -s stop #關閉
nginx -c nginx.conf #需要到配置檔案下啟動
nginx -s reload #重新開機
nginx -t #檢查配置檔案文法
ps aux|grep nginx #檢視nginx是否啟動
三、使用和配置
1.通過yum安裝Nginx預設安裝在 /etc/nginx 下
2.靜态html檔案預設在/usr/share/nginx/html 目錄下
3.如果安裝啟動後,出現403錯誤,就是權限不足,兩種解決方法:
3.1 建立個nginx使用者 ,将/usr/share/nginx/html 下的檔案授權給 nginx使用者
3.2 使用root使用者運作,修改配置/etc/nginx 下的 nginx.conf 配置檔案 第一行 user nginx; 改成 user root;然後重新開機nginx服務
4.可以将靜态檔案放到/usr/share/nginx/html 目錄下
四、實作負載均衡
1.将api請求分發到不同tomcat,向配置檔案 /etc/nginx/nginx.conf 添加
upstream tomcat_server{
分發給兩個tomcat
server 127.0.0.1:8080 weight=1; #weight 就是比重
server 127.0.0.1:8081 weight=1;
}
server{
listen 81; #這類代表監聽81端口,80端口給靜态檔案使用,記得按照 二.2.5 的步驟把81端口開下
server_name localhost;
location / {
proxy_pass http://tomcat_server;
proxy_connect_timeout 600;
proxy_read_timeout 600;
}
}
儲存後,重新開機nginx服務,開啟兩個tomcat後,通過不同浏覽器多次通路 nginx伺服器ip:81/
,檢視兩個tomcat下的logs資訊,兩邊都有實時通路日志。