??提供Web网络服务的程序有IIS,Nginx和Apache等。其中,IIS互联网信息服务是Windows系统中默认的Web服务程序,是图形化的网站管理工具,提供的Web网站服务,提供FTP,NMTP,SMTP等服务。IIS只能在视窗系统中使用
Apache跨平台和安全性广泛被认可且拥有快速,可靠,简单的API扩展。Apache服务程序可以运行在Linux的系统,UNIX系统甚至是视窗系统中,支持基于IP,域名及端口号的虚拟主机功能,支持多种认证方式,集成有代理服务器模块,安全套接字层(SSL),能够实时监视服务状态与定制日志消息,并有着各类丰富的模块支持。
网站服务程序
第1步:把光盘设备中的系统镜像挂载
mkdir -p /media/cdrommount /dev/cdrom /media/cdrom
第2步:使用Vim的文本编辑器创建荫仓库的配置文件
vim /etc/yum.repos.d/cdrom.repo ???[cdrom] ???name= cdrom ???baseurl=fille:///media/cdrom ???gpgcheck=0
第3步:安装Apache服务程序
yum install httpd -y
第4步:启用的httpd服务程序
systemctl start httpdsystemctl enable httpdln -s‘/usr/lib/systemd/system/httpd.service‘‘/etc/systemd/system/multi-user.target.wants/httpd.service‘地址栏中输入http://127.0.0.1并按回车键,提供网络服务的httpd的服务程序的默认页面
配置服务文件参数
服务目录 ?/etc/httpd
主配置文件 /etc/httpd/conf/httpd.conf
网站数据目录 ???/var/www/html
访问日志 ?/var/log/httpd/access_log
错误日志 ?/var/log/httpd/error_log
配置httpd服务
ServerRoot ?服务目录ServerAdmin 管理员邮箱User ???运行服务的用户Group ??运行服务的用户组ServerName ?网站服务器的域名DocumentRoot ???网站数据目录Listen ?监听的IP地址与端口号DirectoryIndex ?默认的索引页页面ErrorLog ???错误日志文件CustomLog ??访问日志文件Timeout 网页超时时间,默认为300秒
虚拟网站主机功能
??利用虚拟主机功能,可以把一台处于运行状态的物理服务器分割成多个“虚拟的服务器”。Apache的虚拟主机功能是服务器基于用户请求的不同IP地址、主机域名或端口号,实现提供多个网站同时为外部提供访问服务的技术,用户请求的资源不同,最终获取到的网页内容也各不相同
基于IP地址
如果一台服务器有多个IP地址,而且每个IP地址与服务器上部署的每个网站一一对应,这样当用户请求访问不同的IP地址时,会访问到不同网站的页面资源
注意:在配置完毕并重启网卡服务之后,记得检查网络的连通性,确保三个IP地址均可正常访问
第1步:分别在/home/wwwroot中创建用于保存不同网站数据的3个目录,并向其中分别写入网站的首页文件mkdir -p /home/wwwroot/10mkdir -p /home/wwwroot/20mkdir -p /home/wwwroot/30echo "IP:192.168.10.10" > /home/wwwroot/10/index.htmlecho "IP:192.168.10.20" > /home/wwwroot/20/index.htmlecho "IP:192.168.10.30" > /home/wwwroot/30/index.html第2步:httpd服务的配置文件追加写入三个基于IP地址的虚拟主机网站参数,保存退出,重启httpd服务[root@linuxprobe ~]# vim /etc/httpd/conf/httpd.conf ???……………………………… ????<VirtualHost 192.168.10.10> ????DocumentRoot /home/wwwroot/10 ????ServerName www.linuxzhao.com ????<Directory /home/wwwroot/10 > ????AllowOverride None ????Require all granted ????</Directory> ????</VirtualHost> ????<VirtualHost 192.168.10.20> ????DocumentRoot /home/wwwroot/20 ????ServerName bbs.linuxzhao.com ????<Directory /home/wwwroot/20 > ????AllowOverride None ????Require all granted ????</Directory> ????</VirtualHost> ????<VirtualHost 192.168.10.30> ????DocumentRoot /home/wwwroot/30 ????ServerName tech.linuxzhao.com ????<Directory /home/wwwroot/30 > ????AllowOverride None ????Require all granted ????</Directory> ????</VirtualHost> ???………………………………第3步:使用restorecon命令让新设置的SELinux安全上下文立即生效semanage fcontext -a -t httpd_sys_content_t /home/wwwrootsemanage fcontext -a -t httpd_sys_content_t /home/wwwroot/10semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/10/*semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/20semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/20/*semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/30semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/30/*restorecon -Rv /home/wwwroot
基于主机域名
当服务器无法为每个网站都分配一个独立IP地址的时候,可以尝试让Apache自动识别用户请求的域名,从而根据不同的域名请求来传输不同的内容
注意:/etc/hosts是Linux系统中用于强制把某个主机域名解析到指定IP地址的配置文件
第1步:手工定义IP地址与域名之间对应关系的配置文件vim /etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4::1 localhost localhost.localdomain localhost6 localhost6.localdomain6192.168.10.10 www.linuxzhao.com bbs.linuxzhao.com tech.linuxzhao.com第2步:分别在/home/wwwroot中创建用于保存不同网站数据的三个目录,并向其中分别写入网站的首页文件mkdir -p /home/wwwroot/wwwmkdir -p /home/wwwroot/bbsmkdir -p /home/wwwroot/techecho "www.linuxzhao.com" > /home/wwwroot/www/index.htmlecho "BBS.linuxzhao.com" > /home/wwwroot/bbs/index.htmlecho "TECH.linuxzhao.com" > /home/wwwroot/tech/index.html第3步:httpd服务的配置文件追加写入三个基于主机名的虚拟主机网站参数,保存退出,重启httpd服务vim /etc/httpd/conf/httpd.conf ???……………………………… ???<VirtualHost 192.168.10.10> ???DocumentRoot "/home/wwwroot/www" ???ServerName "www.linuxzhao.com" ???<Directory "/home/wwwroot/www"> ???AllowOverride None ???Require all granted ???</directory> ????</VirtualHost> ???<VirtualHost 192.168.10.10> ???DocumentRoot "/home/wwwroot/bbs" ???ServerName "bbs.linuxzhao.com" ???<Directory "/home/wwwroot/bbs"> ???AllowOverride None ???Require all granted ???</Directory> ???</VirtualHost> ???<VirtualHost 192.168.10.10> ???DocumentRoot "/home/wwwroot/tech" ???ServerName "tech.linuxzhao.com" ???<Directory "/home/wwwroot/tech"> ???AllowOverride None ???Require all granted ???</directory> ???</VirtualHost> ???…………….………………第4步:使用restorecon命令让新设置的SELinux安全上下文立即生效semanage fcontext -a -t httpd_sys_content_t /home/wwwrootsemanage fcontext -a -t httpd_sys_content_t /home/wwwroot/wwwsemanage fcontext -a -t httpd_sys_content_t /home/wwwroot/www/*semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/bbssemanage fcontext -a -t httpd_sys_content_t /home/wwwroot/bbs/*semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/techsemanage fcontext -a -t httpd_sys_content_t /home/wwwroot/tech/*restorecon -Rv /home/wwwroot
基于端口号
基于端口号的虚拟主机功能可以让用户通过指定的端口号来访问服务器上的网站资源
第1步:分别在/home/wwwroot中创建用于保存不同网站数据的两个目录,并向其中分别写入网站的首页文件mkdir -p /home/wwwroot/6111mkdir -p /home/wwwroot/6222echo "port:6111" > /home/wwwroot/6111/index.htmlecho "port:6222" > /home/wwwroot/6222/index.html第2步:在httpd服务配置文件分别添加用于监听6111和6222端口的参数。[root@linuxprobe ~]# vim /etc/httpd/conf/httpd.conf ????……………………………… ?????\# ????\# Listen: Allows you to bind Apache to specific IP addresses and/or ????\# ports, instead of the default. See also the <VirtualHost> ????\# directive. ????\# ????\# Change this to Listen on specific IP addresses as shown below to ?????\# prevent Apache from glomming onto all bound IP addresses. ????\# ????\#Listen 12.34.56.78:80 ????Listen 80 ????Listen 6111 ????Listen 6222 ???……………………………… 第3步:httpd服务的配置文件追加写入两个基于端口号的虚拟主机网站参数,保存退出,重启httpd服务vim /etc/httpd/conf/httpd.conf ???……………………………… ????<VirtualHost 192.168.10.10:6111> ???DocumentRoot "/home/wwwroot/6111" ???ServerName www.linuxzhao.com ???<Directory "/home/wwwroot/6111"> ???AllowOverride None ???Require all granted ???</Directory> ????</VirtualHost> ???<VirtualHost 192.168.10.10:6222> ???DocumentRoot "/home/wwwroot/6222" ???ServerName bbs.linuxzhao.com ???<Directory "/home/wwwroot/6222"> ???AllowOverride None ???Require all granted ???</Directory> ???</VirtualHost> ???………………………………第4步:使用restorecon命令让新设置的SELinux安全上下文立即生效semanage fcontext -a -t httpd_sys_content_t /home/wwwrootsemanage fcontext -a -t httpd_sys_content_t /home/wwwroot/6111semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/6111/*semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/6222semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/6222/*restorecon -Rv /home/wwwroot/#使用semanage命令查询并过滤出所有与HTTP协议相关且SELinux服务允许的端口列表semanage port -l | grep http第5步:将这两个端口号手动添加进去SELinux允许的与HTTP协议相关的端口号semanage port -a -t http_port_t -p tcp 6111semanage port -a -t http_port_t -p tcp 6222semanage port -l| grep http
http服务和apache
原文地址:http://blog.51cto.com/10681635/2109466