Nginx網站服務 (web虛擬主機)

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
結果如下
在這裏插入圖片描述
另一個

在這裏插入圖片描述

實驗完畢

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