1. Nginx是什么舔糖?
- Nginx是一款輕量級的Web服務(wù)器、也是一款反向代理服務(wù)器莺匠。
關(guān)于正向代理和反向代理解釋
2. Nginx能干什么金吗?
Nginx能干的事情很多,這里簡單羅列一些:
- 可直接支持Rails和PHP的程序趣竣;
- 可以作為HTTP的反向代理服務(wù)器摇庙;
- 作為負載均衡的服務(wù)器;
- 作為郵件代理服務(wù)器遥缕;
- 幫助實現(xiàn)前段動靜分離卫袒;
3. Nginx特點
高穩(wěn)定、高性能单匣、資源占用少夕凝、功能豐富、模塊化的結(jié)構(gòu)户秤、支持熱部署
4. Nginx安裝
1. 安裝gcc(一款功能強大码秉、性能優(yōu)越的多平臺編譯器),詳情:gcc
備注:可以輸入【gcc -v】 查詢版本信息虎忌,看系統(tǒng)是否自帶安裝
yum -y install gcc
2. 安裝pcre(兼容正則表達式庫)泡徙,詳情:PCRE
yum -y install pcre-devel
3. 安裝zlib(提供數(shù)據(jù)壓縮用的函式庫),詳情:zlib
yum -y install zlib zlib-devel
4. 安裝openssl(一個安全套接字層密碼庫),如需使用ssl膜蠢,才需要安裝堪藐。詳情openssl
yum -y install openssl openssl-devel
以上依賴庫綜合命令
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
5. 下載源碼包莉兰,選擇穩(wěn)定版本,解壓縮安裝
- 下載:
wget http://nginx.org/download/nginx-1.12.0.tar.gz
- 解壓:
tar -zxvf nginx-1.12.0.tar.gz
- 切換到nginx目錄下礁竞,輸入以下命令:
./configure 執(zhí)行檢查
make 編譯工程
make install 安裝
whereis nginx 查看安裝位置
切換到安裝目錄:
cd /usr/local/nginx/
再切換到sbin目錄:
cd sbin
啟動nginx
nginx
查看進程糖荒,對這行命令不解的可以看:linux命令ps aux|grep xxx詳解
ps aux| grep nginx
在瀏覽器輸入ip地址:(記得要在防火墻開放80端口,否則會訪問失敗模捂,具體請參考下方第6條的增加防火墻的訪問權(quán)限)
6. Nginx常用命令
- 測試配置文件
安裝路徑下/nginx/sbin/nginx -t
- 啟動命令
安裝路徑下/nginx/sbin/nginx
- 停止命令
安裝路徑下/nginx/sbin/nginx -s stop
或者是:nginx -s quit
- 重啟命令
安裝路徑下/nginx/sbin/nginx -s reload
- 查看進程命令
ps -ef|grep nginx 或者 ps aux| grep nginx
- 平滑重啟(用戶在連接的時候感受不到斷開捶朵,內(nèi)部原理是舊進程依舊在運行的同時新進程開啟,新進程開啟成功狂男,然后關(guān)閉舊進程)
kill -HUP [Nginx主進程號(即查看進程命令查到的PID)]
- 增加防火墻的訪問權(quán)限
vim /etc/sysconfig/iptables
編輯
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
保存退出
重啟防火墻
service iptables restart
7. Nginx虛擬域名配置及測試驗證
- 編輯
vim /usr/local/nginx/conf/nginx.conf
增加
include vhost/*.conf
保存退出
- 在usr/local/nginx/conf目錄新建vhost文件夾
- 創(chuàng)建域名轉(zhuǎn)發(fā)配置文件
文件名:www.kingmall.com.conf
server {
listen 80;
autoindex on;
server_name www.kingmall.com;
access_log /usr/local/nginx/logs/access.log combined;
index index.html index.htm index.jsp index.php;
#root /devsoft/apache-tomcat-7.0.73/webapps/mmall;
#error_page 404 /404.html;
if ( $query_string ~* ".*[\;'\<\>].*" ){
return 404;
}
location = / {
root /product/front/mmall_admin_fe/dist/view;
index index.html;
}
location ~ .*\.(html|htm)$ {
root /product/front/mmall_admin_fe/dist/view;
index index.html;
}
location / {
proxy_pass http://192.168.1.5:8080;
add_header Access-Control-Allow-Origin '*';
}
}
- 啟動/重啟驗證
啟動:${nginx}/sbin/nginx
重啟:${nginx}/sbin/nginx -s reload
注:${nginx}代表安裝在系統(tǒng)中的路徑综看,例如:/usr/local/nginx
-
訪問驗證
- 指向目錄
在vhost目錄下增加image.kingmall.com.conf文件:
server {
listen 80;
autoindex off;
server_name image.kingmall.com;
access_log /usr/local/nginx/logs/access.log combined;
index index.html index.htm index.jsp index.php;
#error_page 404 /404.html;
if ( $query_string ~* ".*[\;'\<\>].*" ){
return 404;
}
location ~ /(mmall_fe|mmall_admin_fe)/dist/view/* {
deny all;
}
location / {
root /ftpfile/;
add_header Access-Control-Allow-Origin *;
}
}
切換到ftpfile目錄下,下載幾張圖片:
重啟nginx岖食,瀏覽器輸入hosts里面配置的域名:image.kingmall.com會出現(xiàn)歡迎index.html红碑。如果加上“/圖片名”,則是出現(xiàn)下載的圖片泡垃。
美顏暴擊析珊,鹿哥6到飛起O(∩_∩)O~~~
比心?
???
8. Nginx本地玩耍注意事項
可以配置域名轉(zhuǎn)發(fā),但請一定要配置hosts蔑穴,設(shè)置完成之后最好重啟瀏覽器忠寻。如果不配置hosts,就默認走dns存和,很明顯肯定是解析不到的奕剃。hosts是我們本地的一個小的dns列表,hosts優(yōu)先于dns哑姚,hosts列表不存在的域名祭饭,才會去dns服務(wù)器查找。
-
客戶端是Windows系統(tǒng):
找到目錄:C:\Windows\System32\drivers\etc\hosts編輯如下所示后保存:
- 客戶機是linux系統(tǒng):
- 輸入:vim /etc/hosts
- 同上圖windows一樣配置域名和對應(yīng)ip叙量。
- 測試可以使用:wget www.kingmall.com 如果連接成功代表ok!