Nginx--Linux上搭建靜態資源服務器

搭建服務器原因

前後端分離已成爲互聯網項目開發的業界標準使用方式,通過nginx+tomcat的方式(也可以中間加一個nodejs)有效的進行解耦,並且前後端分離會爲以後的大型分佈式架構、彈性計算架構、微服務架構、多端化服務(多種客戶端,例如:瀏覽器,車載終端,安卓,IOS等等)打下堅實的基礎。這個步驟是系統架構從猿進化成人的必經之路。
核心思想是前端html頁面通過ajax調用後端的restuful api接口並使用json數據進行交互。
在互聯網架構中:
Web服務器:一般指像nginx,apache這類的服務器,他們一般只能解析靜態資源。
應用服務器:一般指像tomcat,jetty,resin這類的服務器可以解析動態資源也可以解析靜態資源,但解析靜態資源的能力沒有web服務器好。
一般都是隻有web服務器才能被外網訪問,應用服務器只能內網訪問。

簡介

Nginx是一款輕量級的網頁服務器、反向代理服務器。相較於Apache、lighttpd具有佔有內存少,穩定性高等優勢。它最常的用途是提供反向代理服務。

開始搭建

Linux下安裝Node.js環境

下載nodejs程序包

網址:https://nodejs.org/en/download/

把程序包上傳到服務器

例如放在home文件夾

進入所在目錄,解壓

tar -xvf node-v6.11.2-linux-x64.tar.xz

重命名文件夾

mv node-v6.11.2-linux-x64 nodejs

建立軟鏈接,配置全局環境變量(根據自己的目錄)

ln -s /opt/nodejs/bin/npm /usr/local/bin/
ln -s /opt/nodejs/bin/node /usr/local/bin/

檢查是否配置成功

node -v
npm -v

建議

通過cnpm命令安裝包都會通過淘寶鏡像NPM下載,速度會更快。

npm install -g cnpm --registry=https://registry.npm.taobao.org

這裏同樣需要安裝軟連接:(文件名自己改)

ln -s /root/node-v8.9.3-linux-x64/bin/cnpm /usr/local/bin/cnpm

到此安裝完成。

啓動node推薦使用pm2啓動,不然服務器斷了連接服務就停止了,常規安裝方式

cnpm i pm2 -g

同樣需要建立軟連接:

ln -s /root/node-v8.9.3-linux-x64/bin/pm2 /usr/local/bin/pm2

pm2的使用可以參考官網 http://pm2.keymetrics.io/


安裝Nginx

準備工作

Nginx的安裝依賴於以下三個包,在安裝Nginx之前首先必須安裝一下的三個包,注意安裝順序如下:

SSL功能需要openssl庫,直接通過yum安裝: yum install openssl
gzip模塊需要zlib庫,直接通過yum安裝: yum install zlib
rewrite模塊需要pcre庫,直接通過yum安裝: yum install pcre

安裝Nginx依賴項和Nginx

使用yum安裝nginx需要包括Nginx的庫,安裝Nginx的庫

#rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

使用下面命令安裝nginx

yum install nginx

啓動Nginx

service nginx start

停止

service nginx stop

重啓

service nginx restart

瀏覽器訪問localhost就會出現Nginx的歡迎界面表示你安裝成功了,否則就是安裝失敗了

配置Nginx

CentOS安裝Nginx後,安裝在了 /etc/nginx/目錄下,你可以打開/etc/nginx/conf.d/default.conf查看裏面的配置,包括監聽端口,域名和nginx訪問的根目錄

進入nginx安裝目錄的conf.d目錄下,修改default.conf文件,在一個server{}中添加 一個location 部分配置代碼如下:

server {
	listen  80;
	server_name  localhost;
	location / {
		root  html;
		index  index.html index.htm;
	}
	location /image/ {
	root  /usr/local/myImage/;
	autoindex on;  //資源目錄展開
	}

}

從上面的配置可以看出來 端口爲80,server_name爲localhost(寫ip地址也可以)

location /image/ {
	root  /usr/local/myImage/;
	autoindex on;
}

這個配置表示輸入 localhost:80/image/ 時會訪問本機的/usr/local/myImage/image/ 目錄,所以在新建/usr/local/myImage/image/
目錄,同時還要在nginx安裝目錄的html目錄中新建一個與location中image同名的image目錄,雖然該目錄裏面什麼也沒有,在/usr/local/myImage/image/
中我們放一張圖片1.jpg上去,重啓nginx服務,就可以通過localhost:80/image/1.jpg訪問了

root@ubuntu:/usr/local/nginx/html# mkdir image
root@ubuntu:/usr/local/nginx/html# mkdir /usr/local/myImage/image

放一張照片上去

root@ubuntu:/usr/local/nginx/html# cd  /usr/local/myImage/image
root@ubuntu:/usr/local/myImage/image# ls 1.jpg
root@ubuntu:/usr/local/myImage/image#

重啓nginx

效果

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章