這幾天搗鼓公司網站,採用nginx+tomcat協同工作,裡面一些東西做一下相關備份,以備後來工作中的使用
1、停止nginx:停止操作是透過向nginx進程發送訊號來進行的
步驟1:查詢nginx主進程號碼
ps -ef | grep nginx
在進程清單裡面找master進程,它的編號就是主進程號碼了。
步驟2:發送訊號
從容停止Nginx:
kill -QUIT 主進程號
快速停止Nginx:
kill -TERM 主進程號
強制停止Nginx:
pkill -9 nginx
另外,另外配置了pid檔案存放路徑則該檔案存放的就是Nginx主進程號,如果沒指定則放在nginx的logs目錄下。有了pid文件,我們就不用先查詢Nginx的主進程號,而直接向Nginx發送信號了,命令如下:
kill -信號類型'/usr/nginx/logs/nginx.pid'
平滑重啟
如果更改了設定就要重啟Nginx,要先關閉Nginx再開啟?不是的,可以向Nginx 發送訊號,平滑重啟。
平滑重啟命令:
kill -HUP 住進稱號或進程號檔案路徑
或使用
/usr/sbin/nginx -s reload
注意,修改了設定檔後最好先檢查一下修改過的設定檔是否正確,以免重開機後Nginx出現錯誤影響伺服器穩定運作。判斷Nginx設定是否正確指令如下:
nginx -t -c /usr/nginx/nginx.conf
或
/usr/sbin/nginx -t
2、啟動nginx
/usr/sbin/nginx -c /usr/nginx/nginx.conf-c制定設定檔的路徑3、nginx的網域存取設定檔如下
網域:www.a.com的設定檔如下:(樣例)
server {
listen 80;
server_name *.a.com;
location / {
proxy_pass http://localhost:8080/projectA/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
本人實做:
upstream tomcat_web{ server localhost:8080 weight=10; } server { listen 80 default_server; listen [::]:80 default_server; server_name www.XXXXXX.net; # index index.jsp # root /home/microlink/app/site; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { #jsp网站程序根目录,一般nginx与tomcat在同一个目录 root /home/xxx/xxx/site; index index.html index.jsp index.html; } location ~ .*\.jsp$ { proxy_connect_timeout 3; proxy_send_timeout 30; proxy_read_timeout 30; proxy_pass http://localhost:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }
4、防火牆的開啟、關閉及狀態查詢
http://bbs.51cto.com/thread-1095321-1-1.html http://blog.csdn.net/kobejayhttp://blog.csdn.net/kobejay/andy/article/details 20867351 http://www.cnblogs.com/freespider/p/4684586.html http details/42291857(nginx安裝、設定等)
參考連結:
systemctl status firewalld
chkconfig iptables --list
systemctl stop firewalld
systemctl disable firewalld
systemctl enable firewalld
關閉:chkconfig iptables off
(2) 即時生效,重新啟動後開啟:chkconfig iptables off
(2) 即時生效,重啟後開啟: chk stop
需要說明的是對於Linux下的其它服務都可以用以上命令執行開啟和關閉操作。
在開啟了防火牆時,做如下設置,開啟相關端口,
修改/etc/sysconfig/iptables 文件,添加以下內容:
-A RH-Firewall-1-INPUT -m state ——state NEW -m tcp - p tcp ——dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state ——state NEW -m tcp -p tcp ——dport 22 -j ACCEPT
或:
/etc/init.d/ iptables status 會得到一系列訊息,說明防火牆開著。
/etc/rc.d/init.d/iptables stop 關閉防火牆
最後:
在根用戶下輸入setup,進入一個圖形介面,選擇Firewall configuration,進入下一界面,選擇Security Level為Disabled,儲存。重啟即可。
================================================= =====
fedora下
/etc/init.d/iptables stop
================================= ========================
ubuntu下:
由於UBUNTU沒有相關的直接命令
請用以下命令
iptables -P INPUT ACCEPT
iptables - P OUTPUT ACCEPT
暫時開放所有連接埠
Ubuntu上沒有關閉iptables的命令
================================= ======================
iptables 是linux下一款強大的防火牆,在不考慮效率的情況下,功能強大到足可以替代大多數硬件防火牆,但是強大的防火牆如果應用不當,可能擋住的可不光是那些潛在的攻擊,還有可能是你自己哦。這個帶來的危害對於普通的個人PC來說可能無關緊要,但是想像一下,如果這是一台服務器,一旦發生這樣的情況,不光是影院正常的服務,還需要到現場去恢復,這會給你帶來多少損失呢?
所以我想說的是,當你敲入每一個iptables 相關命令的時候都要萬分小心。
1.應用每一個規則到DROP target時,都要仔細檢查規則,應用之前要考慮他給你帶來的影響。
2.在redhat中我們可以使用service iptables stop來關閉防火牆,但是在有些版本如ubuntu中這個指令卻不起作用,大家可能在網路上搜尋到不少文章告訴你用iptables -F這個指令來關閉防火牆,但使用這個命令前,千萬記得用iptables -L查看一下你的系統中所有鏈的默認target,iptables -F這個命令只是清除所有規則,只不會真正關閉iptables.想像一下,如果你的鏈預設target是DROP,本來你有規則來允許一些特定的端口,但一旦應用iptables -L ,清除了所有規則以後,預設的target就會阻止任何訪問,當然包括遠端ssh管理伺服器的你。
所以我建議的關閉防火牆命令是
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -F
總之,當你要在你的服務器上做任何變更時,最好有一個測試環境做過充分的測試再應用到你的伺服器。除此之外,要用好iptables,那就要理解iptables的運作原理,知道對於每一個資料包iptables是怎麼樣來處理的。這樣才能準確地書寫規則,避免帶來不必要的麻煩。
以上就介紹了nginx的基本使用(啟動、關閉及域名映射訪問),包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。
🎜 🎜