LAMP架构应用实战—Apache服务基于IP的虚拟主机配置
时间:2022-07-25
本文章向大家介绍LAMP架构应用实战—Apache服务基于IP的虚拟主机配置,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
LAMP架构应用实战—Apache服务
基于IP的虚拟主机配置
基于IP的虚拟主机————就是说每个虚拟主机使用一个独立的IP地址
服务器配置多块网卡实现,或者同一块网卡配置多个IP实现都可以
今天模拟的环境是同一网卡配置多个IP地址实现基于IP的虚拟主机配置
一:新增IP地址
[root@Centos ~]# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:0C:29:AA:CA:2B
inet addr:192.168.1.2 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:feaa:ca2b/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2345 errors:0 dropped:0 overruns:0 frame:0
TX packets:694 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:224750 (219.4 KiB) TX bytes:92020 (89.8 KiB)
在eth0上新增一个IP地址用于测试使用
[root@Centos ~]# ifconfig eth0:20 192.168.1.20 netmask 255.255.255.0 up
[root@Centos ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:AA:CA:2B
inet addr:192.168.1.2 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:feaa:ca2b/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2468 errors:0 dropped:0 overruns:0 frame:0
TX packets:767 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:235882 (230.3 KiB) TX bytes:100158 (97.8 KiB)
eth0:20 Link encap:Ethernet HWaddr 00:0C:29:AA:CA:2B
inet addr:192.168.1.20 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
二:联通性测试
在本地客户端主机上测试联通性
C:UsersAdministrator>ping 192.168.1.20
正在 Ping 192.168.1.20 具有 32 字节的数据:
来自 192.168.1.20 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.1.20 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.1.20 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.1.20 的回复: 字节=32 时间<1ms TTL=64
192.168.1.20 的 Ping 统计信息:
数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 0ms,最长 = 0ms,平均 = 0ms
三:备份虚拟主机配置文件
提示:生产环境一定要养成良好的习惯
[root@Centos ~]# cd /application/apache/conf/extra/
[root@Centos extra]# cp httpd-vhosts.conf httpd-vhosts.conf.$(date +%F)
[root@Centos extra]# ls -ll
total 76
-rw-r--r--. 1 root root 2895 Sep 12 03:30 httpd-autoindex.conf
-rw-r--r--. 1 root root 1852 Sep 12 03:30 httpd-dav.conf
-rw-r--r--. 1 root root 2942 Sep 12 03:30 httpd-default.conf
-rw-r--r--. 1 root root 1119 Sep 12 03:30 httpd-info.conf
-rw-r--r--. 1 root root 5078 Sep 12 03:30 httpd-languages.conf
-rw-r--r--. 1 root root 1039 Sep 12 03:30 httpd-manual.conf
-rw-r--r--. 1 root root 4444 Sep 12 03:30 httpd-mpm.conf
-rw-r--r--. 1 root root 2243 Sep 12 03:30 httpd-multilang-errordoc.conf
-rw-r--r--. 1 root root 13506 Sep 12 03:30 httpd-ssl.conf
-rw-r--r--. 1 root root 694 Sep 12 03:30 httpd-userdir.conf
-rw-r--r--. 1 root root 1037 Sep 13 06:35 httpd-vhosts.conf
-rw-r--r--. 1 root root 1481 Sep 13 06:28 httpd-vhosts.conf.2016-09-13
-rw-r--r--. 1 root root 1037 Sep 15 02:04 httpd-vhosts.conf.2016-09-15
-rw-r--r--. 1 root root 3161 Sep 12 03:30 proxy-html.conf
四:配置虚拟主机配置文件
[root@Centos extra]# vi httpd-vhosts.conf
# Virtual Hosts
#
# Required modules: mod_log_config
# If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them. Most configurations
# use only name-based virtual hosts so the server doesn't need to worry about
# IP addresses. This is indicated by the asterisks in the directives below.
#
# Please see the documentation at
# <URL:http://httpd.apache.org/docs/2.4/vhosts/>
# for further details before you try to setup virtual hosts.
#
# You may use the command line option '-S' to verify your virtual host
# configuration.
#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any <VirtualHost> block.
#
<VirtualHost 192.168.1.20:80>
ServerAdmin admini@abc.com
DocumentRoot "/data/www/bbs"
ServerName 192.168.1.20
ServerAlias abc.com
ErrorLog "logs/bbs-error_log"
CustomLog "logs/bbs-access_log" common
</VirtualHost>
上面的标记部分为修改的配置
[root@Centos extra]# ../../bin/apachectl graceful
httpd not running, trying to start
发现httpd服务并没有开机自启动
检查发现/etc/init.d/下没有httpd服务
[root@Centos extra]# cd /etc/init.d/
[root@Centos init.d]# ls
abrt-ccpp crond killall ntpd rpcgssd sshd
abrtd cups lvm2-lvmetad ntpdate rpcidmapd sssd
abrt-oops dnsmasq lvm2-monitor oddjobd rpcsvcgssd sysstat
acpid firstboot mdmonitor portreserve rsyslog udev-post
atd functions messagebus postfix sandbox wdaemon
auditd haldaemon netconsole psacct saslauthd winbind
autofs halt netfs quota_nld single wpa_supplicant
blk-availability ip6tables network rdisc smartd ypbind
bluetooth iptables NetworkManager restorecond snmpd
certmonger irqbalance nfs rngd snmptrapd
cpuspeed kdump nfslock rpcbind spice-vdagentd
[root@Centos init.d]# cp /application/apache/bin/apachectl ./httpd
不支持chkconfig
[root@Centos init.d]# chkconfig --add httpd
service httpd does not support chkconfig
因此编辑下面的文件,增加如下配置
[root@Centos init.d]# vi /etc/init.d/httpd
#!/bin/sh
#
#chkconfig:345 85 15
#description:Start and stop the Apache HTTP Server
[root@Centos init.d]# chkconfig --add httpd 加入启动
[root@Centos init.d]# chkconfig --list httpd 查看启动情况
httpd 0:off 1:off 2:off 3:on 4:on 5:on 6:off
[root@Centos init.d]# cd -
/application/apache/conf/extra
[root@Centos extra]# ../../bin/apachectl -t
Syntax OK
[root@Centos extra]# ../../bin/apachectl graceful
[root@Centos extra]# lsof -i tcp:80
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
httpd 2390 root 4u IPv6 16911 0t0 TCP *:http (LISTEN)
httpd 2531 daemon 4u IPv6 16911 0t0 TCP *:http (LISTEN)
httpd 2532 daemon 4u IPv6 16911 0t0 TCP *:http (LISTEN)
httpd 2533 daemon 4u IPv6 16911 0t0 TCP *:http (LISTEN)
[root@Centos extra]# ps -ef |grep httpd
root 2390 1 0 02:08 ? 00:00:00 /application/apache2.4.23/bin/httpd -k graceful
daemon 2531 2390 0 02:22 ? 00:00:00 /application/apache2.4.23/bin/httpd -k graceful
daemon 2532 2390 0 02:22 ? 00:00:00 /application/apache2.4.23/bin/httpd -k graceful
daemon 2533 2390 0 02:22 ? 00:00:00 /application/apache2.4.23/bin/httpd -k graceful
root 2623 1934 0 02:24 pts/1 00:00:00 grep httpd
五:测试访问
[root@Centos extra]# echo '192.168.1.20:80 this server is the server of bbs stie'>>/data/www/bbs/index.html
[root@Centos extra]# cat /data/www/bbs/index.html
welcome to bbs.abc.com
192.168.1.20:80 this server is the server of bbs stie
打开本地客户端浏览器
经测试表示之前的配置是正确的,同样的方法可以配置多个基于IP的虚拟主机
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Android根据包名停止其他应用程序的方法
- Android APP存活检测方式
- 利用Android两行代码真正杀死你的App
- android判断应用是否已经启动的实例
- 解决android studio引用远程仓库下载慢(JCenter下载慢)
- 在Android中查看当前Activity是否销毁的操作
- Android 7.0 运行时权限弹窗问题的解决
- Android加密之全盘加密详解
- Android 实现彻底退出自己APP 并杀掉所有相关的进程
- 使用Android开发接入第三方原生SDK实现微信登录
- Android打包篇:Android Studio将代码打包成jar包教程
- Android系统制作自定义签名的例子
- 抖音短视频系统开发,日期加减
- Android开发之InetAddress基础入门简介与源码实例
- Android实现通讯录功能