CentOS7.4—nginx應用之基於域名的虛擬主機
目錄:
第一部分:準備工作
第二部分:搭建nginx
第三部分:搭建基於域名的虛擬主機
第一部分 準備工作
一:服務器:Linux系統—CentOS 7.4;
IP地址:192.168.80.10
客戶端:以WIN7為例,測試驗證結果,與服務器在同一網段;
IP地址:192.168.80.2
二:準備壓縮包
三:將防火墻與selinux關閉
第二部分 安裝Nginx服務
一:安裝編譯工具與插件
[root@localhost ~]# yum -y install \
gcc \
gcc-c++ \
make \
pcre-devel \
zlib-devel
[root@localhost ~]# useradd -M -s /sbin/nologin nginx //創建nginx用戶-M:不為用戶建立並初始化宿主目錄
二:配置(自定義個性化配置)
[root@localhost ~]# tar xzvf nginx-1.13.9.tar.gz -C /opt/ //解壓nginx安裝包到opt目錄
[root@localhost ~]# cd /opt/nginx-1.13.9/
[root@localhost nginx-1.13.9]# ./configure \ //個性化配置
--prefix=/usr/local/nginx \ //指定安裝目錄
--user=nginx \ //指定用戶
--group=nginx \ //指定組--with-http_stub_status_module //日誌統計模塊
三:編譯與安裝
[root@localhost nginx-1.13.9]# make && make install //編譯安裝
[root@localhost nginx-1.13.9]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
//優化執行路徑(執行程序文件的原路徑不在PATH環境變量中,做個軟鏈接使其可以執行)
[root@localhost nginx-1.13.9]# nginx –t //檢查語法錯誤
[root@localhost nginx-1.13.9]# nginx //啟動nginx服務
[root@localhost nginx-1.13.9]# killall -1 nginx //安全重啟
[root@localhost nginx-1.13.9]# killall -3 nginx //停止服務
四:制作管理腳本
[root@localhost nginx-1.13.9]# vi /etc/init.d/nginx
#!/bin/bash
chkconfig: 35 99 20
description: Nginx Service Control Script
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 "Usage: $0 {start|stop|restart|reload}"
exit 1
esac
exit 0
保存退出
[root@localhost nginx-1.13.9]# chmod +x /etc/init.d/nginx //添加執行權限
[root@localhost nginx-1.13.9]# chkconfig --add nginx //將nginx加入到系統服務
五:編輯主配置文件
[root@localhost nginx-1.13.9]# vi /usr/local/nginx/conf/nginx.conf
編輯以下內容:
user nginx nginx; //運行用戶
error_log logs/error.log info; //錯誤日誌路徑
-----日誌級別:debug info notice warn error crit //向上記錄(從低到高)-----
events {
use epoll; //新增此行 默認使用select/poll
worker_connections 10240; //表示1個工作進程允許10240個連接。
}
log_format main ‘$remote_addr - $remote_user [$time_local] "$request" ‘ //定義日誌格式 把前面的#號去掉
保存退出
[root@localhost ~]# service nginx restart //重啟nginx服務
[root@localhost ~]# netstat -anpt | grep 80 //查看80端口運行狀態
[root@localhost ~]# ulimit –n //查看和更改系統本地打開資源數
[root@localhost ~]# ulimit -n 65500 >> /etc/rc.local
六:win7下驗證
瀏覽器訪問:http://192.168.80.40
//nginx搭建成功
第三部分 配置基於域名的虛擬主機
兩個域名:www.aa.com
www.bb.com
一個IP地址:192.168.80.40
一:搭建DNS
[root@localhost ~]# yum install –y bind bind-utils
[root@localhost ~]# vi /etc/named.conf //編輯主配置文件
[root@localhost ~]# vi /etc/named.rfc1912.zones //配置區域配置文件
[root@localhost ~]# cd /var/named/ //配置區域數據文件
[root@localhost named]# cp -p named.localhost aa.com.zone
[root@localhost named]# vi aa.com.zone
[root@localhost named]# cp -p aa.com.zone bb.com.zone //bb網站數據文件內容與aa一致,不用修改
[root@localhost named]# vi /etc/resolv.conf //配置本機域名
servername 192.168.80.40
保存退出
[root@localhost named]# systemctl start named //重啟dns服務
//win7下驗證
配置DNS:
//瀏覽器訪問:www.aa.com
//瀏覽器訪問:www.bb.com
//DNS搭建成功
二:配置虛擬主機
[root@localhost ~]# vi /usr/local/nginx/conf/nginx.conf //編輯主配置文件
//在最後一行上面插入(最後一行是”}”)
server {
listen 80;
server_name www.aa.com;
charset utf-8; //中文字符編碼
access_log logs/aa.access.log main;
location / {
root /var/www/aa; //定義aa網站網頁文件存放目錄
index index.html index.htm;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
server {
listen 80;
server_name www.bb.com;
charset utf-8;
access_log logs/bb.access.log main;
location / {
root /var/www/bb; //定義bb網站網頁文件存放目錄
index index.html index.htm;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
保存退出
三:配置aa網站與bb網站默認顯示主頁
[root@localhost ~]# mkdir –p /var/www/aa //創建aa目錄
[root@localhost www]# cd /var/www/aa/
[root@localhost aa]# echo "<h1>aaaaaaaaaa</h1>" > index.html //創建aa網站默認主頁
[root@localhost aa]# cd .. //返回上層目錄
[root@localhost www]# mkdir bb
[root@localhost www]# cd bb
[root@localhost bb]# echo "<h1>bbbbbbbbbb</h1>" > index.html //創建bb網站默認主頁
[root@localhost ~]# service nginx restart //重啟服務
四:win7下驗證
瀏覽器訪問:www.aa.com
//瀏覽器訪問:www.bb.com
//驗證成功
CentOS7.4—nginx應用之基於域名的虛擬主機