新聞中心
Nginx作為一款優(yōu)秀的Web Server軟件同時(shí)也是一款優(yōu)秀的負(fù)載均衡或前端反向代理、緩存服務(wù)軟件,很有必要搭建實(shí)驗(yàn)環(huán)境來(lái)對(duì)其進(jìn)行學(xué)習(xí)。

創(chuàng)新互聯(lián)公司是一家從事企業(yè)網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站制作、行業(yè)門戶網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)制作的專業(yè)網(wǎng)站建設(shè)公司,擁有經(jīng)驗(yàn)豐富的網(wǎng)站建設(shè)工程師和網(wǎng)頁(yè)設(shè)計(jì)人員,具備各種規(guī)模與類型網(wǎng)站建設(shè)的實(shí)力,在網(wǎng)站建設(shè)領(lǐng)域樹立了自己獨(dú)特的設(shè)計(jì)風(fēng)格。自公司成立以來(lái)曾獨(dú)立設(shè)計(jì)制作的站點(diǎn)千余家。
本次實(shí)驗(yàn)的測(cè)試環(huán)境使用的宿主機(jī)操作系統(tǒng)為windows 7,在Vmware虛擬機(jī)安裝centos 6.5,說(shuō)明如下:
-
宿主機(jī)操作系統(tǒng)Windows 7
-
虛擬機(jī)安裝的操作系統(tǒng)CentOS 6.5
-
虛擬機(jī)操作系統(tǒng)上網(wǎng)方式NAT
而當(dāng)使用NAT的方式進(jìn)行上網(wǎng)時(shí)虛擬機(jī)、宿主機(jī)之間的網(wǎng)絡(luò)連接關(guān)系可如下所示:
另外需要注意的是這里安裝的CentOS 6.5操作系統(tǒng)使用了最小化安裝,并且只定制安裝了一些常用的開發(fā)工具如gcc等,其版本信息如下:
[root@linuxidc ~]
# cat /etc/RedHat-release
CentOS release 6.5 (Final)
[root@linuxidc ~]
# uname -r
2.6.32-431.el6.x86_64
[root@linuxidc ~]
# uname -m
x86_64
(1)安裝Nginx依賴函數(shù)庫(kù)pcre
pcre為“perl兼容正則表達(dá)式”perl compatible regular expresssions,安裝其是為了使Nginx支持具備URI重寫功能的rewrite模塊,如果不安裝Nginx將無(wú)法使用rewrite模塊功能,但是該功能卻十分有用和常用。
檢查系統(tǒng)中是否有安裝:
[root@linuxidc ~]
# rpm -q pcre pcre-devel
上面可以看到并沒(méi)有安裝使用yum方式安裝如下:
[root@linuxidc ~]
# yum install pcre pcre-devel -y
......
Installed:
pcre-devel.x86_64 0:7.8-7.el6
Updated:
pcre.x86_64 0:7.8-7.el6
Complete!
安裝完后檢查一下是否已經(jīng)成功安裝:
[root@linuxidc ~]
# rpm -q pcre pcre-devel
pcre-7.8-7.el6.x86_64
pcre-devel-7.8-7.el6.x86_64
可以看到已經(jīng)安裝成功。
(2)安裝Nginx依賴函數(shù)庫(kù)openssl-devel
Nginx在使用HTTPS服務(wù)的時(shí)候要用到此模塊,如果不安裝openssl相關(guān)包,安裝過(guò)程中是會(huì)報(bào)錯(cuò)的。
檢查系統(tǒng)是否有安裝openssl相關(guān)包:
[root@linuxidc ~]
# rpm -q openssl openssl-devel
openssl-1.0.1e-15.el6.x86_64
package openssl-devel is not installed
可以看到只是安裝了opensslopenssl-devel還沒(méi)有安裝使用yum安裝如下:
[root@linuxidc ~]
# yum install -y openssl-devel
......
Complete!
再次檢查:
[root@linuxidc ~]
# rpm -q openssl openssl-devel
openssl-1.0.1e-48.el6_8.4.x86_64
openssl-devel-1.0.1e-48.el6_8.4.x86_64
可以看到都已經(jīng)成功安裝上。
(3)下載Nginx軟件包
這里使用的Nginx版本為1.6.3,下載方式如下:
[root@linuxidc ~]
# pwd
/root
[root@linuxidc ~]
# mkdir tools
[root@linuxidc ~]
# cd tools/
[root@linuxidc tools]
# wget http://nginx.org/download/nginx-1.6.3.tar.gz
......
100%[======================================>] 805,253 220K
/s
in
3.6s
2017-02-24 12:10:26 (220 KB
/s
) - anginx-1.6.3.
tar
.gza saved [805253
/805253
]
查看下載的Nginx軟件包:
[root@linuxidc tools]
# ll
total 788
-rw-r--r--. 1 root root 805253 Apr 8 2015 nginx-1.6.3.
tar
.gz
當(dāng)然上面的方式是使用wget方式直接下載,前提是已經(jīng)知道了Nginx的下載地址,也可以到官網(wǎng)下載,然后再上傳到我們的CentOS操作系統(tǒng)上。
(4)開始安裝Nginx
可以先在根目錄下創(chuàng)建一個(gè)/application文件夾用來(lái)存放我們安裝的軟件:
[root@linuxidc ~]
# mkdir /application
[root@linuxidc ~]
# ls -d /application/
/application/
-
解壓縮
將我們剛剛下載的Nginx軟件包解壓縮:
[root@linuxidc tools]
# tar -zxvf nginx-1.6.3.tar.gz
......
[root@linuxidc tools]
# ls
nginx-1.6.3 nginx-1.6.3.
tar
.gz
-
使用./configure指定編譯參數(shù)
先創(chuàng)建一個(gè)nginx用戶用來(lái)安裝完成后運(yùn)行nginx使用:
[root@linuxidc tools]
# useradd nginx -s /sbin/nologin -M
[root@linuxidc tools]
# tail -1 /etc/passwd
nginx:x:500:500::
/home/nginx
:
/sbin/nologin
# -s參數(shù)后的/sbin/nologin指定不允許nginx進(jìn)行登陸
# -M參數(shù)則是在創(chuàng)建該用戶時(shí)不創(chuàng)建用戶家目錄
使用configure命令指定編譯參數(shù):
[root@linuxidc nginx-1.6.3]
# ./configure --user=nginx --group=nginx --prefix=/application/nginx-1.6.3/ --with-http_stub_status_module --with-http_ssl_module
對(duì)于配置時(shí)使用的參數(shù)可以通過(guò)./configure --help來(lái)進(jìn)行查詢,上面使用的參數(shù)解析如下:
--prefix=PATH
# 指定安裝路徑
--user=USER
# 設(shè)置用戶進(jìn)程權(quán)限
--group=GROUP
# 設(shè)置用戶組進(jìn)程權(quán)限
--with-http_stub_status_module
# 激活狀態(tài)信息
--with-http_ssl_module
# 激活ssl功能
-
使用make進(jìn)行編譯
[root@linuxidc nginx-1.6.3]
# make
......
檢查編譯是否成功:
[root@linuxidc nginx-1.6.3]
# echo $?
0
返回0即說(shuō)明編譯成功。
-
使用make install安裝
[root@linuxidc nginx-1.6.3]
# make install
......
檢查安裝是否成功:
[root@linuxidc nginx-1.6.3]
# echo $?
0
返回0即說(shuō)明安裝成功。
-
建立安裝目錄的軟鏈接
[root@linuxidc nginx-1.6.3]
# ln -s /application/nginx-1.6.3/ /application/nginx
[root@linuxidc nginx-1.6.3]
# ls -l /application/
total 4
lrwxrwxrwx. 1 root root 25 Feb 24 12:32 nginx ->
/application/nginx-1
.6.3/
drwxr-xr-x. 6 root root 4096 Feb 24 12:28 nginx-1.6.3
到此Nginx的編譯安裝工作已經(jīng)全部完成了,下面就需要對(duì)安裝結(jié)果進(jìn)行驗(yàn)證了即驗(yàn)證Nginx是否可以正常提供服務(wù)。
(1)啟動(dòng)Nginx服務(wù)前檢查配置文件語(yǔ)法
如下:
[root@linuxidc ~]
# /application/nginx/sbin/nginx -t
nginx: the configuration
file
/application/nginx-1
.6.3
//conf/nginx
.conf syntax is ok
nginx: configuration
file
/application/nginx-1
.6.3
//conf/nginx
.conf
test
is successful
(2)啟動(dòng)Nginx服務(wù)
[root@linuxidc ~]
# /application/nginx/sbin/nginx
如果在啟動(dòng)Nginx服務(wù)時(shí)出現(xiàn)了問(wèn)題可以查看Nginx的日志/application/nginx/logs/error.log,再根據(jù)日志提供的信息來(lái)進(jìn)行解決。
(3)驗(yàn)證Nginx服務(wù)是否正常
-
查看已開啟的端口信息
[root@linuxidc ~]
# netstat -lnp | grep 80
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 6772
/nginx
unix 2 [ ACC ] STREAM LISTENING 9180 1
/init
@
/com/Ubuntu/upstart
可以看到Nginx已經(jīng)在偵聽80端口。
-
查看Nginx進(jìn)程
[root@linuxidc ~]
# ps aux | grep nginx
root 6772 0.0 0.1 45028 1140 ? Ss 12:34 0:00 nginx: master process
/application/nginx/sbin/nginx
nginx 6773 0.0 0.1 45460 1716 ? S 12:34 0:00 nginx: worker process
root 6777 0.0 0.0 103256 832 pts
/1
S+ 12:36 0:00
grep
nginx
-
在宿主機(jī)上使用瀏覽器進(jìn)行測(cè)試
在我們宿主機(jī)的瀏覽器上輸入http://10.0.0.101/,查看測(cè)試結(jié)果
可以正常訪問(wèn),當(dāng)然前提是CentOS上的防火墻功能已經(jīng)關(guān)閉。
-
使用wget命令和curl命令測(cè)試
wget命令:
[root@linuxidc tools]
# wget 127.0.0.1
--2017-02-24 12:41:05-- http:
//127
.0.0.1/
Connecting to 127.0.0.1:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 612 [text
/html
]
Saving to: aindex.htmla
100%[======================================>] 612 --.-K
/s
in
0s
2017-02-24 12:41:05 (44.1 MB
/s
) - aindex.htmla saved [612
/612
]
currl命令:
[root@linuxidc tools]
# curl 127.0.0.1
<
head
>
/title
>


咨詢
建站咨詢