Nginx,一個被貼滿,高性能,低消耗,低成本標籤的web服務器。想必你們都早有耳聞。我是在接觸了公司的圖片服務器的時候,纔開始真正接觸它。本文從Nginx 和傳統項目的區別 和 Nginx的安裝部署兩個方面來了解它。nginx
在傳統項目中,咱們通常經過在web項目的根目錄下建立一個用於存儲圖片的images文件夾來方便管理圖片。但隨着業務和規模的逐漸擴大,一臺服務器已經沒法知足咱們的需求,咱們能夠經過搭建服務器集羣來處理高併發的場景。c++
好景不長,集羣剛搭好,就有用戶反饋,圖片爲何時而有,時而沒有? 這是由於:圖片存儲在 服務器/web根目錄/images文件夾 中,當用戶在上傳圖片的時候,只將圖片傳給了一臺服務器,在獲取圖片時,可能調用了其餘服務器。這樣會出現該問題。web
解決這個問題很簡單,就是把圖片單獨放在一個服務器。若是選擇Apache的tomcat服務器,在處理業務邏輯簡單的圖片服務器中彷佛顯得有些笨重。一款高性能,低成本輕量級web服務器 nginx 脫穎而出。不只如此它仍是一款反向代理服務器和電子郵件代理服務器。正則表達式
[root@itdragon ~]# wget http://nginx.org/download/nginx-1.13.6.tar.gz [root@itdragon ~]# tar -zxvf nginx-1.13.6.tar.gz [root@itdragon ~]# ll total 824 drwxr-xr-x 9 1001 1001 4096 Nov 14 14:26 nginx-1.13.6 -rw-r--r-- 1 root root 832104 Nov 14 14:18 nginx-1.13.6.tar.gz [root@itdragon ~]# cd nginx-1.13.6 [root@itdragon nginx-1.13.6]# ./configure [root@itdragon nginx-1.13.6]# make [root@itdragon nginx-1.13.6]# make install [root@itdragon nginx-1.13.6]# cd /usr/local/nginx/sbin/ [root@itdragon sbin]# ./nginx [root@itdragon sbin]# ifconfig
第一步:下載Nginx壓縮包
第二步:解壓
第三步:配置,編譯,安裝,啓動
第四步:查看ip地址
第五步:瀏覽器訪問:ip:port
若出現以下圖片則說明安裝成功。
可是,Nginx是調皮的,它不會讓咱們如此順利vim
踩坑?不存在的,我踩過的坑,不容許讓大家再踩。它是我滴!瀏覽器
第一個問題,是由於 nginx 解壓編譯依賴 gcc 環境形成的。tomcat
[root@itdragon ~]# yum install gcc-c++
第二個問題,是由於 nginx 的 http 模塊使用 pcre 來解析正則表達式服務器
[root@itdragon ~]# yum install -y pcre pcre-devel
第三個問題,是由於 nginx 使用 zlib 對 http 包的內容進行 gzip 操做併發
[root@itdragon ~]# yum install -y zlib zlib-devel
第四個問題,建議安裝,nginx 它是支持https 協議的高併發
[root@itdragon ~]# yum install -y openssl openssl-devel
第五個問題,是很常見的端口占用,修改 nginx.config 文件中的端口便可。 /port,快速找到端口配置的地方。[Insert] 開啓編輯模式。[Esc] :wq 退出保存
[root@itdragon sbin]# ./nginx nginx: [emerg] bind() to 0.0.0.0:88 failed (98: Address already in use) [root@itdragon sbin]# vim ../conf/nginx.conf server { listen 88; server_name localhost; [root@itdragon sbin]# ./nginx
若出現 Loaded plugins: fastestmirror 不是問題的問題。能夠經過修改fastestmirror.conf 文件,這是一種不負責任的作法,若是本身玩 Nginx 能夠這樣作。若是是實際開發,就老老實實的按照提示來作。
[root@plugins ~]# vim /etc/yum/pluginconf.d/fastestmirror.conf enabled=0 [root@plugins ~]# vim /etc/yum.conf plugins=0 [root@plugins ~]# yum clean dbcache
到這裏,Nginx的安裝部署就完成了。下一章就利用Nginx搭建圖片服務。