摘要:概述是高性能的輕量級服務(wù)器,由于其提供代理和反向代理負載均衡緩存等一系列重要特性,從而廣泛應(yīng)用于當今的服務(wù)之中,學習其很有必要。筆者也是從一個初學者開始學習并記錄,希望后續(xù)漸漸深入。
Nginx是高性能的輕量級WEB服務(wù)器,由于其提供HTTP代理和反向代理、負載均衡、緩存等一系列重要特性,從而廣泛應(yīng)用于當今的WEB服務(wù)之中,學習其很有必要。筆者也是從一個初學者開始學習并記錄,希望后續(xù)漸漸深入。
對了,為什么不用Docker來啟動Nginx呢?因為不想?。?/p>
注: 本文首發(fā)于 My 公眾號 CodeSheep ,可 長按 或 掃描 下面的 小心心 來訂閱 ↓ ↓ ↓
CentOS 7.4 64Bit
Nginx 1.14.0 穩(wěn)定版
wget http://nginx.org/download/nginx-1.14.0.tar.gz
安裝第三方庫
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel yum -y install pcre-devel
安裝成功以后可以查看pcre版本: pcre-config —version
解壓安裝包
tar zxvf nginx-1.14.0.tar.gz
從configure腳本自動生成Makefile
cd /root/nginx-1.14.0 ./configure --prefix=/usr/local/webserver/nginx
這里的 —prefix 選項是指定Nginx的安裝路徑,這里我是指定安裝到路徑:/usr/local/webserver/nginx
編譯安裝
cd /root/nginx-1.14.0 make && make install
編譯安裝過程如下,直到完成
查看Nginx版本
/usr/local/webserver/nginx/sbin/nginx -v
查看安裝后的目錄
總共四個目錄:conf、html、logs、sbin
/usr/local/webserver/nginx/sbin/nginx
瀏覽器訪問Nginx成功(注意:由于我的機子上80端口被占用了,因此我將Nginx起在81端口上了):
測試nginx測試文件是否正確
/usr/local/webserver/nginx/sbin/nginx -t
指定配置文件啟動
/usr/local/webserver/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
重啟nginx
/usr/local/webserver/nginx/sbin/nginx -s reload # 重新載入配置文件 /usr/local/webserver/nginx/sbin/nginx -s reopen #重啟 Nginx
停止nginx
/usr/local/webserver/nginx/sbin/nginx -s stop # 停止 Nginx
準備配置文件 nginx.conf 如下:
// 全局配置 user nobody nobody; worker_processes 3; error_log logs/error.log; pid logs/nginx.pid; // events塊配置 events { use epoll; worker_connections 1024; } // http塊配置 http { include mime.types; default_type application/octet-stream; log_format main "$remote_addr - $remote_user [$time_local] "$request” " "$status $body_bytes_sent "$http_referer” " ""$http_user_agent" "$http_x_forwarded_for”’; access_log logs/access.log main; sendfile on; keepalive_timeout 65; // 虛擬主機1:基于域名codesheep.com server { listen 8088; server_name codesheep; access_log /codesheep/webserver/server1/log/access.log; error_page 404 /404.html; location /server1/location1 { root /codesheep/webserver; index index.server1-location1.htm; } location /server1/location2 { root /codesheep/webserver; index index.server1-location2.htm; } } // 虛擬主機2:基于IP地址:192.168.31.177 server { listen 8089; server_name 192.168.31.177; access_log /codesheep/webserver/server2/log/access.log; error_page 404 /404.html; location /server2/location1 { root /codesheep/webserver; index index.server2-location1.htm; } location /srv2/loc2 { alias /codesheep/webserver/server2/location2/; index index.server2-location2.htm; } location = /404.html { root /codesheep/webserver/; index 404.html; } } }
很明顯,在上述配置文件中配置了兩個虛擬主機:一個 基于域名 、 一個基于IP地址
為了驗證該配置的正確性,我們對照此配置,構(gòu)建一個與其對應(yīng)的靜態(tài)站點,其目錄結(jié)構(gòu)如下:
現(xiàn)在可以啟動Nginx服務(wù)器,并在瀏覽器中進行測試
測試站點server1的訪問
這就說明配置文件中虛擬主機1配置生效!
注意:這里域名www.codesheep.com之所以能被解析識別,是因為本地配置了DNS服務(wù)器!
測試站點server2的訪問
這就說明配置文件中虛擬主機2配置生效!
作者更多的原創(chuàng)文章在此,歡迎觀賞
My Personal Blog
作者更多的SpringBt實踐文章在此:
Spring Boot應(yīng)用監(jiān)控實戰(zhàn)
SpringBoot應(yīng)用部署于外置Tomcat容器
ElasticSearch搜索引擎在SpringBt中的實踐
初探Kotlin+SpringBoot聯(lián)合編程
Spring Boot日志框架實踐
SpringBoot優(yōu)雅編碼之:Lombok加持
如果有興趣,也可以抽點時間看看作者一些關(guān)于容器化、微服務(wù)化方面的文章:
利用K8S技術(shù)棧打造個人私有云 連載文章
從一份配置清單詳解Nginx服務(wù)器配置
Docker容器可視化監(jiān)控中心搭建
利用ELK搭建Docker容器化應(yīng)用日志中心
RPC框架實踐之:Apache Thrift
RPC框架實踐之:Google gRPC
微服務(wù)調(diào)用鏈追蹤中心搭建
Docker容器跨主機通信
Docker Swarm集群初探
高效編寫Dockerfile的幾條準則
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/39955.html
摘要:概述在我之前的應(yīng)用監(jiān)控實戰(zhàn)一文中,講述了如何利用版本來可視化地監(jiān)控應(yīng)用。接下來我們就來創(chuàng)建一個待監(jiān)控的示例。 showImg(https://segmentfault.com/img/remote/1460000015671446); 概述 在我之前的 《Spring Boot應(yīng)用監(jiān)控實戰(zhàn)》 一文中,講述了如何利用 Spring Boot Admin 1.5.X 版本來可視化地監(jiān)控 ...
摘要:在本文中,我們繼續(xù)延續(xù)前文,從前文給出的一份示例配置清單開始,詳解一下服務(wù)器的各種配置指令的作用和用法。是否允許同時接收多個網(wǎng)絡(luò)連接指令格式該指令默認為狀態(tài),意指每個一次只能接收一個新到達的網(wǎng)絡(luò)連接。 本文已獲得原作者CodeSheep授權(quán)。showImg(https://segmentfault.com/img/remote/1460000015646704); 概述 在前面《Ngi...
摘要:在本文中,我們繼續(xù)延續(xù)前文,從前文給出的一份示例配置清單開始,詳解一下服務(wù)器的各種配置指令的作用和用法。是否允許同時接收多個網(wǎng)絡(luò)連接指令格式該指令默認為狀態(tài),意指每個一次只能接收一個新到達的網(wǎng)絡(luò)連接。 本文已獲得原作者CodeSheep授權(quán)。showImg(https://segmentfault.com/img/remote/1460000015646704); 概述 在前面《Ngi...
摘要:在本文中,我們繼續(xù)延續(xù)前文,從前文給出的一份示例配置清單開始,詳解一下服務(wù)器的各種配置指令的作用和用法。是否允許同時接收多個網(wǎng)絡(luò)連接指令格式該指令默認為狀態(tài),意指每個一次只能接收一個新到達的網(wǎng)絡(luò)連接。 showImg(https://segmentfault.com/img/remote/1460000015385948); 概述 在前面《Nginx服務(wù)器開箱體驗》 一文中我們從開箱...
摘要:部署只是一種規(guī)則,控制器組件會將這一規(guī)則應(yīng)用于實際負載均衡器中。原因是功能僅允許將端口用于路由,負載均衡器和則可作為全局啟動。負載均衡的限制提供了功能豐富的負載均衡器支持詳細介紹在此。截至目前,我們暫時無法使用工具將負載均衡器配置從轉(zhuǎn)換為。 如果您的應(yīng)用程序是面向大量用戶、會吸引大量流量,那么一個不變的目標一定是在高效滿足用戶需求的同時、不讓用戶感知到任何類似于服務(wù)器繁忙!的情況。這一...
閱讀 3015·2021-10-12 10:12
閱讀 3068·2021-09-22 16:04
閱讀 3300·2019-08-30 15:54
閱讀 2612·2019-08-29 16:59
閱讀 2926·2019-08-29 16:08
閱讀 878·2019-08-29 11:20
閱讀 3502·2019-08-28 18:08
閱讀 660·2019-08-26 13:43