设为首页 收藏本站
查看: 807|回复: 0

[经验分享] http服务和apache-FollZhao的博客

[复制链接]

尚未签到

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

  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  [cdrom]
  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服务
  
[root@iyunv ~]# 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端口的参数。
  

  
[root@iyunv ~]# 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、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-636213-1-1.html 上篇帖子: Haproxy+Keepalived+apache实现高可用 下篇帖子: apache配置虚拟主机和报错
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

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