httpd服务
1.httpd简介
httpd是Apache超文本传输协议(HTTP)服务器的主程序。被设计为一个独立运行的后台进程,它会建立一个处理请求的子进程或线程的池。
通常,httpd不应该被直接调用,而应该在类Unix系统中由apachectl调用,在Windows中做为服务运行。
编译安装httpd过程
- 先下载并安装apr-1.6和apr-util-1.6
[root@hxdserver ~]# cd /usr/src/
[root@hxdserver src]# ls
apr-1.6.3.tar.bz2 apr-util-1.6.1.tar.bz2 debug kernels
[root@hxdserver src]# tar xf apr-1.6.3.tar.bz2
[root@hxdserver src]# tar xf apr-util-1.6.1.tar.bz2
[root@hxdserver src]# ls
apr-1.6.3 apr-1.6.3.tar.bz2 apr-util-1.6.1 apr-util-1.6.1.tar.bz2 debug kernels
//安装前先修改apr-1.6.3的configure文件,将$RM "$cfgfile" 前加上#注释掉。
[root@hxdserver src]# cd apr-1.6.3
[root@hxdserver apr-1.6.3]# vim configure
[root@hxdserver apr-1.6.3]# ./configure --prefix=/usr/local/apr
[root@hxdserver apr-1.6.3]# make && make install
[root@hxdserver apr-util-1.6.1]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
[root@hxdserver apr-util-1.6.1]# make && make install
//准备工作做完了,开始编译安装httpd。
[root@hxdserver ~]# ls
anaconda-ks.cfg httpd-2.4.34.tar.bz2
[root@hxdserver ~]# tar xf httpd-2.4.34.tar.bz2
[root@hxdserver ~]# ls
anaconda-ks.cfg httpd-2.4.34 httpd-2.4.34.tar.bz2
[root@hxdserver ~]# cd httpd-2.4.34/
[root@hxdserver httpd-2.4.34]# ./configure --prefix=/usr/local/apache \
> --sysconfdir=/etc/httpd24 \
> --enable-so \
> --enable-ssl \
> --enable-cgi \
> --enable-rewrite \
> --with-zlib \
> --with-pcre \
> --with-apr=/usr/local/apr \
> --with-apr-util=/usr/local/apr-util/ \
> --enable-modules=most \
> --enable-mpms-shared=all \
> --with-mpm=prefork
[root@hxdserver httpd-2.4.34]# make && make install
//这样服务就装好了。
接下来就可以配置httpd服务了
//修改配置文件
[root@hxdserver ~]# vim /etc/httpd24/httpd.conf
找到ServerName www.example.com:80 //取消注释#号
//在文件最后添加如下配置
#virtual host 1 # 虚拟主机1的配置
<VirtualHost 192.168.226.130:80>
ServerName www.dubaiiii.com
DocumentRoot "/usr/local/apache/htdocs/www"
ErrorLog "/usr/local/apache/logs/error_log"
CustomLog "/usr/local/apache/logs/access_log" combined
<Directory /usr/local/apache/htdocs/www>
<Require>
Require all granted
</Require>
<Directory>
</VirtualHost>
#virtual host 2 # 虚拟主机2的配置
<VirtualHost 192.168.226.130:8080>
ServerName blog.dubaiToT.com
DocumentRoot "/usr/local/apache/htdocs/blog"
ErrorLog "/usr/local/apache/logs/dubai-error_log"
CustomLog "/usr/local/apache/logs/dubai-access_log" combined
<Directory /usr/local/apache/htdocs/blog>
<Require>
Require all granted
</Require>
<Directory>
</VirtualHost>
[root@hxdserver ~]# cd /usr/local/apache/htdocs/
[root@hxdserver htdocs]# cd
[root@hxdserver ~]# vim /etc/httpd24/httpd.conf
[root@hxdserver ~]# cd /usr/local/apache/htdocs/
[root@hxdserver htdocs]# mkdir www blog
[root@hxdserver htdocs]# ll
总用量 4
drwxr-xr-x. 2 root root 6 9月 17 19:47 blog
-rw-r--r--. 1 root root 45 6月 12 2007 index.html
drwxr-xr-x. 2 root root 6 9月 17 19:47 www
[root@hxdserver htdocs]# chown -R apache.apache blog
[root@hxdserver htdocs]# chown -R apache.apache www
//相同ip不同端口
[root@hxdserver ~]# vim /usr/local/apache/htdocs/blog/index.html
[root@hxdserver ~]# vim /usr/local/apache/htdocs/www/index.html
[root@hxdserver ~]# cat /usr/local/apache/htdocs/www/index.html
hello jerry
[root@hxdserver ~]# cat /usr/local/apache/htdocs/blog/index.html
hello tom
//在文件中添加不同的内容
- 切记每次测试之前修改过配置文件后一定要重启服务,还有防火墙一定要关。
测试
在浏览器输入192.168.226.130:80
还有192.168.226.130:8080
//不同ip相同端口
[root@hxdserver ~]# vim /etc/httpd24/httpd.conf
#virtual host 2 # 虚拟主机2的配置
<VirtualHost 192.168.226.131:80>
ServerName www.dubaiToT.com
DocumentRoot "/usr/local/apache/htdocs/blog"
ErrorLog "/usr/local/apache/logs/dubai-error_log"
CustomLog "/usr/local/apache/logs/dubai-access_log" combined
<Directory /usr/local/apache/htdocs/blog>
Require all granted
</Directory>
</VirtualHost>
修改主机2的ip,再给网卡添加对应ip
[root@hxdserver ~]# ip addr add 192.168.226.131 dev ens33
[root@hxdserver htdocs]# apachectl restart
测试
在浏览器中输入192.168.226.131
//相同ip相同端口不同域名
修改本机文件
在hosts文件中添加
192.168.226.130 www.dubaiiii.com
192.168.226.130 blog.dubaiToT.com
修改配置文件
[root@hxdserver ~]# vim /etc/httpd24/httpd.conf
#virtual host 2 # 虚拟主机2的配置
<VirtualHost 192.168.226.130:80>
ServerName blog.dubaiToT.com
DocumentRoot "/usr/local/apache/htdocs/blog"
ErrorLog "/usr/local/apache/logs/dubai-error_log"
CustomLog "/usr/local/apache/logs/dubai-access_log" combined
<Directory /usr/local/apache/htdocs/blog>
Require all granted
</Directory>
</VirtualHost>
[root@hxdserver htdocs]# apachectl restart
测试
//先将浏览器缓存清除
输入www.dubaiiii.com
输入blog.dubaiToT.com