youbo1 发表于 2018-11-17 12:22:23

http服务和apache-FollZhao的博客

    网页网络服务是一种被动访问的服务程序,只有接收到互联网中其他主机发出的请求后才会响应,最终用于提供服务程序的网络服务器会通过HTTP(超文本传输协议)或HTTPS(安全超文本传输协议)把请求的内容传送给用户。
    提供Web网络服务的程序有IIS,Nginx和Apache等。其中,IIS互联网信息服务是Windows系统中默认的Web服务程序,是图形化的网站管理工具,提供的Web网站服务,提供FTP,NMTP,SMTP等服务。IIS只能在视窗系统中使用

  Apache跨平台和安全性广泛被认可且拥有快速,可靠,简单的API扩展。Apache服务程序可以运行在Linux的系统,UNIX系统甚至是视窗系统中,支持基于IP,域名及端口号的虚拟主机功能,支持多种认证方式,集成有代理服务器模块,安全套接字层(SSL),能够实时监视服务状态与定制日志消息,并有着各类丰富的模块支持。

网站服务程序
  第1步:把光盘设备中的系统镜像挂载
  

mkdir -p /media/cdrom  
mount /dev/cdrom /media/cdrom
  

  第2步:使用Vim的文本编辑器创建荫仓库的配置文件
  

vim /etc/yum.repos.d/cdrom.repo  
  name= cdrom
  baseurl=fille:///media/cdrom
  gpgcheck=0
  

  第3步:安装Apache服务程序
  

yum install httpd -y  

  第4步:启用的httpd服务程序
  

systemctl start httpd  
systemctl enable httpd
  
ln -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/10
  
mkdir -p /home/wwwroot/20
  
mkdir -p /home/wwwroot/30
  
echo "IP:192.168.10.10" > /home/wwwroot/10/index.html
  
echo "IP:192.168.10.20" > /home/wwwroot/20/index.html
  
echo "IP:192.168.10.30" > /home/wwwroot/30/index.html
  

  
第2步:httpd服务的配置文件追加写入三个基于IP地址的虚拟主机网站参数,保存退出,重启httpd服务
  
# vim /etc/httpd/conf/httpd.conf
  ………………………………
  
  DocumentRoot /home/wwwroot/10
  ServerName www.linuxzhao.com
  
  AllowOverride None
  Require all granted
  
  
  

  
  DocumentRoot /home/wwwroot/20
  ServerName bbs.linuxzhao.com
  
  AllowOverride None
  Require all granted
  
  
  

  
  DocumentRoot /home/wwwroot/30
  ServerName tech.linuxzhao.com
  
  AllowOverride None
  Require all granted
  
  
  ………………………………
  

  
第3步:使用restorecon命令让新设置的SELinux安全上下文立即生效
  
semanage fcontext -a -t httpd_sys_content_t /home/wwwroot
  
semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/10
  
semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/10/*
  
semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/20
  
semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/20/*
  
semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/30
  
semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/30/*
  
restorecon -Rv /home/wwwroot
  

基于主机域名
  当服务器无法为每个网站都分配一个独立IP地址的时候,可以尝试让Apache自动识别用户请求的域名,从而根据不同的域名请求来传输不同的内容
  注意:/etc/hosts是Linux系统中用于强制把某个主机域名解析到指定IP地址的配置文件
  

第1步:手工定义IP地址与域名之间对应关系的配置文件  

  
vim /etc/hosts
  
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
  
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
  
192.168.10.10 www.linuxzhao.com bbs.linuxzhao.com tech.linuxzhao.com
  

  
第2步:分别在/home/wwwroot中创建用于保存不同网站数据的三个目录,并向其中分别写入网站的首页文件
  

  
mkdir -p /home/wwwroot/www
  
mkdir -p /home/wwwroot/bbs
  
mkdir -p /home/wwwroot/tech
  
echo "www.linuxzhao.com" > /home/wwwroot/www/index.html
  
echo "BBS.linuxzhao.com" > /home/wwwroot/bbs/index.html
  
echo "TECH.linuxzhao.com" > /home/wwwroot/tech/index.html
  

  
第3步:httpd服务的配置文件追加写入三个基于主机名的虚拟主机网站参数,保存退出,重启httpd服务
  
vim /etc/httpd/conf/httpd.conf
  ………………………………
  
  DocumentRoot "/home/wwwroot/www"
  ServerName "www.linuxzhao.com"
  
  AllowOverride None
  Require all granted
  
  
  

  
  DocumentRoot "/home/wwwroot/bbs"
  ServerName "bbs.linuxzhao.com"
  
  AllowOverride None
  Require all granted
  
  
  

  
  DocumentRoot "/home/wwwroot/tech"
  ServerName "tech.linuxzhao.com"
  
  AllowOverride None
  Require all granted
  
  
  …………….………………
  

  
第4步:使用restorecon命令让新设置的SELinux安全上下文立即生效
  
semanage fcontext -a -t httpd_sys_content_t /home/wwwroot
  
semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/www
  
semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/www/*
  
semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/bbs
  
semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/bbs/*
  
semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/tech
  
semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/tech/*
  
restorecon -Rv /home/wwwroot
  

基于端口号
  基于端口号的虚拟主机功能可以让用户通过指定的端口号来访问服务器上的网站资源
  

第1步:分别在/home/wwwroot中创建用于保存不同网站数据的两个目录,并向其中分别写入网站的首页文件  

  
mkdir -p /home/wwwroot/6111
  
mkdir -p /home/wwwroot/6222
  
echo "port:6111" > /home/wwwroot/6111/index.html
  
echo "port:6222" > /home/wwwroot/6222/index.html
  

  
第2步:在httpd服务配置文件分别添加用于监听6111和6222端口的参数。
  

  
# 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
  \# 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
  ………………………………
  
  DocumentRoot "/home/wwwroot/6111"
  ServerName www.linuxzhao.com
  
  AllowOverride None
  Require all granted
  
  
  

  
  DocumentRoot "/home/wwwroot/6222"
  ServerName bbs.linuxzhao.com
  
  AllowOverride None
  Require all granted
  
  
  ………………………………
  

  
第4步:使用restorecon命令让新设置的SELinux安全上下文立即生效
  
semanage fcontext -a -t httpd_sys_content_t /home/wwwroot
  
semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/6111
  
semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/6111/*
  
semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/6222
  
semanage 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 6111
  
semanage port -a -t http_port_t -p tcp 6222
  
semanage port -l| grep http


页: [1]
查看完整版本: http服务和apache-FollZhao的博客