1. 程式人生 > 實用技巧 >一、動態規劃

一、動態規劃

nginx是什麼

nginx是一個開源的,支援高效能,高併發的www服務和代理服務軟體。它是一個俄羅斯人lgor sysoev開發的,作者將原始碼開源出來供全球使用。
nginx比它大哥apache效能改進許多,nginx佔用的系統資源更少,支援更高的併發連線,有更高的訪問效率。nginx不但是一個優秀的web服務軟體,還可以作為反向代理,負載均衡,以及快取服務使用。安裝更為簡單,方便,靈活。nginx可以說是非常nb了

面試回答技巧

支援高併發,能支援幾萬併發連線資源消耗少,在3萬併發連線下開啟10個nginx執行緒消耗的記憶體不到200M可以做http反向代理和負載均衡支援非同步網路i/o事件模型epoll

為什麼要用nginx

1.佔有記憶體少,併發能力強
2.處理靜態檔案
3.各大廠商都在用nginx

Tengine

Tengine是由淘寶網發起的Web伺服器專案。它在Nginx的基礎上,針對大訪問量網站的需求,添加了很多高階功能和特性。Tengine的效能和穩定性已經在大型的網站如淘寶網,天貓商城等得到了很好的檢驗。它的最終目標是打造一個高效、穩定、安全、易用的Web平臺。

安裝環境準備(linux)

安裝nginx需要的依賴庫yum install -y gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel


一. gcc 安裝
安裝 nginx 需要先將官網下載的原始碼進行編譯,編譯依賴 gcc 環境,如果沒有 gcc 環境,則需要安裝:
yum install gcc-c++

二. PCRE pcre-devel 安裝
PCRE(Perl Compatible Regular Expressions) 是一個Perl庫,包括 perl 相容的正則表示式庫。nginx 的 http 模組使用 pcre 來解析正則表示式,所以需要在 linux 上安裝 pcre 庫,pcre-devel 是使用 pcre 開發的一個二次開發庫。nginx也需要此庫。命令:
yum install -y pcre pcre-devel

三. zlib 安裝
zlib 庫提供了很多種壓縮和解壓縮的方式, nginx 使用 zlib 對 http 包的內容進行 gzip ,所以需要在 Centos 上安裝 zlib 庫。
yum install -y zlib zlib-devel

四. OpenSSL 安裝
OpenSSL 是一個強大的安全套接字層密碼庫,囊括主要的密碼演算法、常用的金鑰和證書封裝管理功能及 SSL 協議,並提供豐富的應用程式供測試或其它目的使用。
nginx 不僅支援 http 協議,還支援 https(即在ssl協議上傳輸http),所以需要在 Centos 安裝 OpenSSL 庫。
yum install -y openssl openssl-devel

編譯安裝,啟動nginx

1.下載原始碼包
wget -c https://nginx.org/download/nginx-1.16.1.tar.gz  # 最好安裝當前最新版本的前一個版本
2.解壓縮原始碼
tar -zxvf nginx-1.9.6.tar.gz
3.配置,編譯安裝  開啟nginx狀態監測功能
./configure --prefix=/opt/nginx196/ --with-http_ssl_module --with-http_stub_status_module 
make && make install 
4.啟動nginx,進入sbin目錄,找到nginx啟動命令
cd sbin
./nginx #啟動
./nginx -s stop #關閉
./nginx -s reload # 平滑重啟 ,修改了nginx.conf之後,可以不重啟服務,載入新的配置