nginxの仮想ホスト3
●名前ベースの仮想ホスト
●IPベースの仮想ホスト
●仮想ホスト・ポートベースの
各仮想サーバは「サーバ{}」構成セクションは、それらの機能を達成を介してアクセスすることができます
ベースの仮想ホスティング
実験環境
1.基本のソースパッケージ(パスワードなし):https://pan.baidu.com/s/14WvcmNMC6CFX1SnjHxE7JQ Linux仮想マシンの2.CentOS 7版 |
ホストのIP | ドメイン名 |
---|---|---|
192.168.235.158 | www.kgc.com、www.accp.com |
実験手順
まず、nginxのサービスをコンパイルしてインストールします
最初のステップ:のWindows、Linux上でリモートソースパッケージを取得し、上にマウント
[root@localhost ~]# smbclient -L //192.168.235.1
Enter SAMBA\root's password:
Sharename Type Comment
--------- ---- -------
LNMP Disk
[root@localhost ~]# mkdir /abc
[root@localhost ~]# mount.cifs //192.168.235.1/LNMP /abc
Password for root@//192.168.235.1/LNMP:
[root@localhost ~]# ls /abc
Discuz_X3.4_SC_UTF8.zip nginx-1.12.0.tar.gz php-7.1.10.tar.bz2
mysql-boost-5.7.20.tar.gz nginx-1.12.2.tar.gz php-7.1.20.tar.gz
第二段階:抽出ソースパッケージ
[root@localhost ~]# cd /abc
[root@localhost abc]# tar zxvf nginx-1.12.0.tar.gz -C /opt
[root@localhost abc]# ls /opt
nginx-1.12.0 rh
ステップ3:ダウンロードおよびコンパイラパッケージをインストールします
[root@localhost abc]# cd /opt
[root@localhost opt]# yum install -y \
> gcc \ //C语言
> gcc-c++ \ //c++语言
> pcre-devel \ //pcre语言工具
> zlib-devel //压缩函数库
ステップ4:ユーザプログラムと構成を作成しますnginxのは、関連コンポーネントにサービスを提供
[root@localhost opt]# useradd -M -s /sbin/nologin nginx
//创建程序用户nginx,并限定其不可登录终端
[root@localhost opt]# cd nginx-1.12.0/
[root@localhost nginx-1.12.0]# ./configure \
//配置nginx
> --prefix=//usr/local/nginx \
//指定安装路径
> --user=nginx \
//指定用户名
> --group=nginx \
//指定用户所属组
> --with-http_stub_status_module
//安装状态统计模块
ステップ5:nginxのコンパイルとインストール
[root@localhost nginx-1.12.0]# make && make install
ステップ6:nginxの最適化サービスのスタートアップスクリプト、およびコマンドソフトの接続を確立
[root@localhost nginx-1.12.0]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
//创建nginx服务命令软链接到系统命令
[root@localhost nginx-1.12.0]# systemctl stop firewalld.service
//关闭防火墙
[root@localhost nginx-1.12.0]# setenforce 0
//关闭增强型安全功能
[root@localhost nginx-1.12.0]# nginx
//输入nginx 开启服务
[root@localhost nginx-1.12.0]# netstat -ntap | grep 80 //查看服务的80 端口,显示已开启
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 7520/nginx: master
第二には、configure DNSドメインネームサービス
[root@localhost ~]# yum -y install bind
//安装DNS服务的bind包
[root@localhost ~]# vim /etc/named.conf
//编辑主配置文件
options {
listen-on port 53 { any; };
##将监听地址127.0.0.1替换为any,
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
recursing-file "/var/named/data/named.recursing";
secroots-file "/var/named/data/named.secroots";
allow-query { any; };
##将授权localhost替换为any
[root@localhost ~]# vim /etc/named.rfc1912.zones
//编辑两个域名的区域配置文件
zone "kgc.com" IN {
type master;
file "kgc.com.zone";
allow-update { none; };
};
zone "accp.com" IN {
type master;
file "accp.com.zone";
allow-update { none; };
};
[root@localhost ~]# cd /var/named
[root@localhost named]# cp -p named.localhost kgc.com.zone
[root@localhost named]# cp -p named.localhost accp.com.zone
[root@localhost named]# vim kgc.com.zone
//编辑kgc域名区域数据配置文件
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A 127.0.0.1
www IN A 192.168.235.158
##删除原来末行的内容,添加域名解析地址为本机地址
[root@localhost named]# vim accp.com.zone
//编辑accp域名区域数据配置文件
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A 127.0.0.1
www IN A 192.168.235.158
##删除原来末行的内容,添加域名解析地址为本机地址
[root@localhost named]# systemctl start named
//开启dns服务
[root@localhost named]# systemctl stop firewalld.service
//关闭防火墙
[root@localhost named]# setenforce 0
//关闭增强型安全功能
第三に、仮想ホストの設定
ステップ1:テストページを作成します。
[root@localhost named]# cd
[root@localhost ~]# mkdir -p /var/www/html/kgc
[root@localhost ~]# mkdir -p /var/www/html/accp
[root@localhost ~]# ls /var/www/html/
accp kgc
[root@localhost ~]# cd /var/www/html/
[root@localhost html]# echo "this kgc web" > kgc/index.html
[root@localhost html]# echo "this accp web" > accp/index.html
ステップ2:構成ファイルを編集nginx.conf
[root@localhost html]# vim /usr/local/nginx/conf/nginx.conf
server {
listen 80;
server_name www.kgc.com;
charset utf-8;
##支持中文字符
access_log logs/www.kgc.com.access.log;
##kgc站点访问日志
location / {
}
error_page 500 502 503 504 /50x.html;
##服务端报错相关网页
location = /50x.html {
root html;
}
}
server {
listen 80;
server_name www.accp.com;
charset utf-8;
access_log logs/www.accp.com.access.log;
location / {
root /var/www/html/accp;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
第三段階:リロードnginxのサービス
[root@localhost ~]# killall -s HUP nginx
[root@localhost ~]# netstat -ntap | grep 80
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 6117/nginx: master
第四段階:テストページには、www.accp.comアクセスwww.kgc.com 2人のドメイン名を入力します。
仮想ホスト・ポートに基づいて、
仮想ホストの設定
ステップ1:別のテストページポートを作成します。
[root@localhost ~]# cd /var/www/html/
[root@localhost html]# echo "this is kgc 8080 web" > kgc/index.html
ステップ2:編集nginx.conf設定ファイルには、アドレスを聞くだけ変更します
[root@localhost html]# vim /usr/local/nginx/conf/nginx.conf
server {
listen 192.168.235.158:80;
##监听主机的80端口
server_name www.kgc.com;
charset utf-8;
access_log logs/www.kgc.com.access.log;
location / {
root /var/www/html/kgc;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
listen 192.168.235.158:8080;
##监听主机的8080端口
server_name www.kgc.com;
charset utf-8;
access_log logs/www.kgc.com.access.log;
location / {
root /var/www/html/kgc;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
第三段階:リロードnginxのサービス
[root@localhost html]# killall -s HUP nginx
[root@localhost html]# netstat -ntap | grep 80
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 41958/nginx: master
ウェブテストのウェブ、それぞれの訪問80個のポートを、だけでなく、デフォルトのWebポート8080:第四工程
IPベースのバーチャルホスト
最初のステップ:ネットワークカード、および計画のドメインを追加しますIP
ホストのIP | ドメイン名 |
---|---|
192.168.235.158 | www.kgc.com |
192.168.235.142 | www.accp.com |
ステップ2:変更ACCPドメインゾーンデータファイルの設定
[root@localhost ~]# vim /var/named/accp.com.zone
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A 127.0.0.1
www IN A 192.168.235.142
##更改IP地址为 192.168.235.142
[root@localhost ~]# systemctl restart named
##重启域名解析服务
第三段階:編集設定ファイルnginx.conf
[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf
##此段不做修改
server {
listen 192.168.235.158:80;
server_name www.kgc.com;
charset utf-8;
access_log logs/www.kgc.com.access.log;
location / {
root /var/www/html/kgc;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
listen 192.168.235.142:80;
##修改本段监听地址为192.168.234.142
server_name www.accp.com;
charset utf-8;
access_log logs/www.accp.com.access.log;
location / {
root /var/www/html/accp;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
ステップ4:リロードnginxのサービス
[root@localhost ~]# killall -s HUP nginx
[root@localhost ~]# netstat -ntap | grep 80
tcp 0 0 192.168.235.142:80 0.0.0.0:* LISTEN 7299/nginx: master
tcp 0 0 192.168.235.158:80 0.0.0.0:* LISTEN 7299/nginx: master