主机论坛_虚拟主机_美国主机_美国虚拟主机_云主机技术_全球主机交流聚集地—Web Hosting Talk 中文站

找回密码
立即注册
发新帖

0

收听

5

听众

1015

主题
发表于 2022-8-18 11:40:22 | 查看: 65| 回复: 0
如何搭建nginx虚拟主机?这个问题可能是我们日常工作经常见到的。通过这个问题,希望你能收获更多。下面是解决这个问题的步骤内容。
Nginx支持的虚拟主机有三种1、基于域名的虚拟主机
2、基于IP的虚拟主机
3、基于端口的虚拟主机
且每一种虚拟主机均可通过“server{}" 配置段实现各自的功能
一、基于域名搭建1、编译安装Nginx服务
2、远程获取Windows上的源码包,并挂载到Linux上
[root@localhost ~]# smbclient -L //192.168.235.1Enter SAMBA\root's password: Sharename    Type   Comment---------    ----   -------LNMP      Disk [root@localhost ~]# mkdir /abc[root@localhost ~]# mount.cifs //192.168.235.1/LNMP /abcPassword for root@//192.168.235.1/LNMP: [root@localhost ~]# ls /abcDiscuz_X3.4_SC_UTF8.zip  nginx-1.12.0.tar.gz php-7.1.10.tar.bz2mysql-boost-5.7.20.tar.gz nginx-1.12.2.tar.gz php-7.1.20.tar.gz3、解压源码包、下载安装编译组件包
[root@localhost ~]# cd /abc[root@localhost abc]# tar zxvf nginx-1.12.0.tar.gz -C /opt[root@localhost abc]# ls /optnginx-1.12.0 rh[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、编译及安装
[root@localhost nginx-1.12.0]# make && make install6、优化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 1、配置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.1www 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.1www 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、配置虚拟主机
2、创建自测网页
[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.html3、编辑nginx.conf配置文件
[root@localhost html]# vim /usr/local/nginx/conf/nginx.confserver {    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;    } }4、重载Nginx服务
[root@localhost ~]# killall -s HUP nginx[root@localhost ~]# netstat -ntap | grep 80tcp    0   0 0.0.0.0:80       0.0.0.0:*        LISTEN   6117/nginx: master 5、测试网页,输入www .kgc. com 与 www. accp. com两个域名进行访问

二、基于端口1、配置虚拟主机
2、创建另一个端口的测试网页
[root@localhost ~]# cd /var/www/html/[root@localhost html]# echo "this is kgc 8080 web" > kgc/index.html 3、编辑nginx.conf配置文件,仅修改监听地址
[root@localhost html]# vim /usr/local/nginx/conf/nginx.confserver {    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;    } }4、重载Nginx服务
[root@localhost html]# killall -s HUP nginx[root@localhost html]# netstat -ntap | grep 80tcp    0   0 0.0.0.0:80       0.0.0.0:*        LISTEN   41958/nginx: master 5、测试网页,分别访问80端口的默认网页以及8080端口的网页

三、基于IP1、添加网卡,并规划好IP

主机IP :192.168.235.158 ; 192.168.235.142

域名:www . kgc . com ; 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.1www IN A    192.168.235.142##更改IP地址为 192.168.235.142[root@localhost ~]# systemctl restart named##重启域名解析服务3、编辑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 80tcp    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 5、测试网页,分别输入IP地址192.168.235.158和192.168.235.142进行访问

看完上诉内容,你们掌握基于域名、端口和IP搭建nginx虚拟主机的方法了吗?如果想了解更多相关内容,欢迎关注Vecloud行业资讯频道,感谢各位的阅读!
SD-WAN-MPLS组网http://www.kd010.com/

收藏回复 显示全部楼层 道具 举报

您需要登录后才可以回帖 登录 | 立即注册

Archiver|手机版|小黑屋|WebHostingTalk中文站

GMT+8, 2024-5-5 04:06 , Processed in 0.066878 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表