Nginx網站服務
實驗材料
centos7一臺Xshell連接,ip 192.168.100.102 vm1
win2008server一臺,做dns解析 ip 192.168.100.66 vm1
安裝及運行控制
1.編譯安裝Nginx
1)安裝支持軟件
[root@CentOS7-02 ~]# yum -y install pcre-devel zlib-devel
2)創建運行用戶,組
[root@CentOS7-02 ~]# useradd -M -s /sbin/nologin nginx
3)編譯安裝Nginx
包拖入Xshell中
[root@CentOS7-02 ~]# tar zxf nginx-1.12.0.tar.gz
[root@CentOS7-02 ~]# cd nginx-1.12.0
[root@CentOS7-02 nginx-1.12.0]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module
[root@CentOS7-02 nginx-1.12.0]# make && make install
(注意,如果你不可以make,就是前面yum安裝支持軟件時候,可能打錯字母了,安錯基礎包了,然後你把原來的nginx軟件包刪了,從新解包和make)
[root@CentOS7-02 nginx-1.12.0]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
2.Nginx的運行控制
1)檢查主配置文件
[root@CentOS7-02 nginx-1.12.0]# nginx -t (只要下面第一行是ok,配置文件就沒問題)
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
2)啓動,停止Nginx
[root@CentOS7-02 ~]# nginx
[root@CentOS7-02 ~]# netstat -anpt | grep nginx
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 8276/nginx: master
[root@CentOS7-02 ~]# yum -y install elinks
[root@CentOS7-02 ~]# elinks http://localhost
(上面命令,會顯示一個頁面,就對了,ctrl+C退出)
[root@CentOS7-02 ~]# yum -y install psmisc (安裝killall命令)
[root@CentOS7-02 ~]# killall -s HUP nginx (重載nginx服務)
[root@CentOS7-02 ~]# killall -s QUIT nginx (停止nginx服務)
[root@CentOS7-02 ~]# netstat -anpt | grep nginx (已經沒了)
3)使用Nginx服務腳本
[root@CentOS7-02 ~]# vim /etc/init.d/nginx (後面有我打好的,比圖裏清楚)
#!/bin/bash
# chkconfig: - 99 20
PROG="/usr/local/nginx/sbin/nginx"
PIDF="/usr/local/nginx/logs/nginx.pid"
case "$1" in
start)
$PROG
;;
stop)
kill -s QUIT $(cat $PIDF)
;;
restart)
$0 stop
$0 start
;;
reload)
kill -s HUP $(cat $PIDF)
;;
*)
echo "no"
exit 1
esac
exit 0
[root@CentOS7-02 init.d]# chmod +x nginx
[root@CentOS7-02 init.d]# chkconfig --add nginx
[root@CentOS7-02 init.d]# ./nginx start
[root@CentOS7-02 init.d]# ./nginx stop (如果你nginx已經是關閉狀態,使用這個,它會報kill錯,不用管,那個restart也是)
[root@CentOS7-02 init.d]# nginx
訪問狀態統計及虛擬主機應用
1.Nginx的訪問狀態統計
[root@CentOS7-02 ~]# vim /usr/local/nginx/conf/nginx.conf
添加如圖中
[root@CentOS7-02 ~]# nginx -t (檢查上面的主配置文件,顯示ok就行)
[root@CentOS7-02 ~]# cd /etc/init.d/
[root@CentOS7-02 init.d]# ./nginx restart
訪問測試,在windows中
http://192.168.100.102/status
2.基於域名的虛擬Web主機
1)配置dns解析,把www.baidu.com 和 www.youxi.com都解析到
192.168.100.102(nginx服務器IP)
2)準備網站目錄及測試文件
[root@CentOS7-02 ~]# mkdir -p /var/www/baidu
[root@CentOS7-02 ~]# mkdir -p /var/www/youxi
[root@CentOS7-02 ~]# echo "www.baidu.com"
> /var/www/baidu/index.html
[root@CentOS7-02 ~]# echo "www.youxi.com"
> /var/www/youxi/index.html
3)調整主配置文件,配置兩個“server{}區域,分別對應兩個web站點
[root@CentOS7-02 ~]# vim /usr/local/nginx/conf/nginx.conf
首先
然後打上我這些,第一個server配置項改一下,第二個要手打
保存退出後,
[root@CentOS7-02 ~]# nginx -t
一定會報錯,在第一行有具體的行號,再次進入配置文件,輸入圖中命令,根據行號排錯,一般都是括號的問題,只要刪除沒有用的括號就行了
保存退出
[root@CentOS7-02 ~]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@CentOS7-02 ~]# cd /etc/init.d/
[root@CentOS7-02 init.d]# ./nginx restart
訪問測試
在真機中,對應的vm1網卡中,dns指向dns服務器的ip我這裏是192.168.100.66
結果如下
另一個