您的位置:首页 > 运维架构 > Apache

Linux系统下的apache服务(apache的安装部署、基础信息的修改、虚拟主机的搭建)

2019-08-12 12:24 841 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/monster_warm/article/details/98999271

apache的相关概念

企业中常用的web服务,用来提供http://(超文本传输协议)
与apache对应的还有nginx服务
apache:适合动态页面,且比较稳定,同步阻塞
nginx:并发量比apache大,反向代理,静态资源服务器
http服务端口为80端口,https服务端口为443端口
lamp=linux apache mysql php
lnmp=linux nginx mysql php

apache的安装部署

在部署apache之前,记得关闭selinux
部署apache步骤:

yum install httpd -y     ##apache的软件
yum install -y httpd-manual  ##apache的手册


systemctl start httpd       ##开启apche服务
systemctl enable httpd     ##使apache开机自启动

firewall-cmd --permanent --add-service=http   ##火墙允许httpd
firewall-cmd --reload
firewall-cmd --list-all

cd /var/www/html       ##apache的根目录,默认发布目录
vim /var/www/html/index.html      ##apache的默认发布文件
<h1>www.westos.com</h1>      ##发布内容为www.westos.com <h1>只是起加粗发布内容字体的作用



测试
在浏览器中输入

http://172.25.254.104(部署apache的主机ip)      ##出现默认发布文件中的内容
http://172.25.254.104/manual (出现手册的页面)



安装apache后会在/etc/httpd/目录下生成logs目录,apache的日志,其中有access_log和error_log,企业中一般会对每天的日志进行截断,一方面是为了方便查看,另一方面是因为对于企业来说,每天登录网站的次数庞大,对于日志而言,如果不及时截断,会导致日志文件过大甚至超过内存的大小,这时日志就无法打开,会出现日志一打开电脑就死机的情况

apache的基础信息

/etc/httpd/conf      ##主配置目录
/etc/httpd/cond/httpd.conf    ##主配置文件
/etc/httpd/conf.d/     ##子配置目录
/etc/httpd/conf.d/*.conf    ##子配置文件
/var/www/html      ##默认发布目录
index.html            ##默认发布文件
80                ##默认端口
httpd_sys_content_t    ##默认安全上下文
/etc/httpd/logs/*       ##apache日志

修改默认端口

vim /etchttpd/conf/httpd.conf
Listen 8080       ##在第43行的位置修改默认端口为8080
systemctl restart httpd


此时浏览器中输入

http://172.25.254.104:8080


会显示unable connect to server ,可能原因有两个:1.apache服务没有开 2.防火墙不允许apache服务 ,查看这两项发现都已经开启,还是无法连接到服务器,是因为此时http的访问端口已经变为了8080,而火墙不允许8080端口的访问
解决方法:

firewall-cmd --permanent --add-port=8080/tcp   ##火墙允许8080端口
firewall-cmd --reload


重新测试

http://172.25.254.104:8080


修改默认发布文件
默认发布文件就是访问apache时没有指定文件名时默认访问的文件,这个文件可以指定多个,有访问顺序

vim /etc/httpd/conf/httpd.conf
DirectoryIndex westos index.html    ##在文件的第164行,当westos不存在时才访问index.html




修改默认发布目录

vim /etc/httpd/conf/httpd,conf
DocumentRoot "/westos/html"    ##在文件的第i120行,修改默认发布目录为/westos/html
<Directory "/westos">
Require all granted
</Directory>
mkdir /westos/html -p
vim /westos/html/index.html     ##注意这里建立的文件一定是index.html,这和主配置文件中的默认发布文件有关
##在文件中写入:tage page
systemctl restart
3ff7
httpd



访问控制

vim /var/www/html/index.html
<h1>172.25.254.104<h1>
mkdir /var/www/html/westos
vim /var/www/html/westos/index.html
<h1>test page</h1>

vim /etc/httpd/conf/httpd.conf
DocumentRoot "/var/www/html"
<Directory "/var/www/html/westos">            ##第120行
Order Allow,Deny          ##顺序,先读allow,再deny
Allow from All
Deny from 172.25.254.104    ##读到deny会覆盖allow
</Directory>
systemctl restart httpd


测试
在不同的主机的浏览器输入以下网址

http://172.25.254.251/westos



指定用户访问

htpasswd -cm westosuser admin   ##建立用户文件westosuser,用户名为admin,第一次生成-c参数
cat  westosuser
htpasswd -m westosuser admin1    ##不用再加-c,再加-c的话会覆盖前面建立的用户


vim /etc/httpd/conf/httpd.conf
<DIrectory "/var/www/html/westos">
AuthUserFile   /etc/httpd/conf/westosuser
AuthType    basic
AuthName    "Please input your name and password !"
Required user   admin
#Require   valid-user
</Directory>


测试

http://172.25.254.251/westos

会出现登录界面



Require user admin
Require valid-admin

apache虚拟主机的搭建

访问百度网页时,一个apache对应一个服务资源,但是在目前我们自己搭建的apache服务器中,不同的域名解析出来的是同样的资源。要实现一个apache实现多个域名的资源访问,需要搭建虚拟主机。
操作步骤
1.

vim /etc/hosts        ##本地解析
172.25.254.251 www.westos.com www.music.com www.news.com


2.

cd /var/www/html/
vim index.html  ##书写默认发布文件
在文件中写入;
<h1>www.westos.com</h1>    ##这个内容就是访问域名时会出现的内容


在浏览器中输入www.westos.cm www.music.com www.news.com出现的都是相同的内容,没有达到1个apache实现多个资源访问的目的



所以我们进行下面的操作:
3.

mkdir /var/www/virtual/music/html/ -p
在目录下编辑文件 vim index.html    ##写入访问时要读取的资源
mkdir /var/www/virtual/news/html/   -p
在目录下编辑文件 vim index.html ##写入访问时要读取的资源



4.如果在上一步做过实验的基础上,要还原主配置文件的设置,并且找到其中的子文件,子文件其实可以和主文件写在一块,只是为了查看和阅读的方便,将子文件单独又列了出去。

IncludeOptions /conf.d/*.conf


5.

cd /etc/httpd/conf.d/
vim default.conf     ##自定义文件
在文件中写入
<VirtualHost _default_:80>
DocumentRoot /var/www/html
CustomLog     logs/default.log combined
</VirtualHost>

vim  news.conf
</VirtualHost *.80>
ServerName   news.westos.com
DocumentRoot   /var/www/virtual/news/html
CustomLog logs/new.log combined
</VirtualHost>
<Directory "/var/www/virtual/news/html">
Require all granted
</Directory>

cp news.conf music.conf   ##复制文件内容到music.conf
vim music.conf
:%s/news/music/g

systemctl restart httpd

测试

在浏览器中输入www.westos.com www.news.com www.music.com  访问不同的资源即可



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐