什么是Apache?
Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中。
Apache和Nginx区别
Apache是同步多进程模型,一个连接对应一个进程,而Nginx是异步的,多个连接(万级别)可以对应一个进程。
Nginx轻量级,抗并发,处理静态文件好。
Apache超稳定,对PHP支持比较简单,Nginx需要配合其他后端用,处理动态请求有优势,建议使用前端Nginx抗并发,后端apache集群,配合起来会更好。
安装Apache程序
安装命令:yum install httpd -y
安装完成后会有complete的提示,表示安装成功
安装完成后,将Apache启动并加入开机自启动
systemctl restart httpd
systemctl enable httpd
然后再浏览器中输入本机ip地址,就可以看到Apache的默认页面
如果需要在物理机或者其他外网环境访问,需要放行防火墙
firewall-cmd --add-service=http
配置参数文件
httpd服务程序的配置文件参数较多,主配置文件的内容较多,但是以“#”号键开头的都是注释行,剩下的又分为全局配置和区域配置,全局配置参数就是一种全局性的配置参数,可作用于对所有的子站点,既可以保证子站点的正常访问,也能减少重复的参数。区域配置参数则是单独针对于每个独立的子站点进行设置的。
配置文件的名称 | 存放位置 |
---|---|
服务目录 | /etc/httpd |
主配置文件 | /etc/httpd/conf/httpd.conf |
网站数据目录 | /var/www/html |
访问日志 | /var/log/httpd/access\_log |
错误日志 | /var/log/httpd/error\_log |
参数 | 用途 |
ServerRoot | 服务目录 |
ServerAdmin | 管理员邮箱 |
User | 运行服务的用户 |
Group | 运行服务的用户组 |
ServerName | 网站服务器的域名 |
DocumentRoot | 网站数据目录 |
Directory | 网站数据目录的权限 |
Listen | 监听的IP地址与端口号 |
DirectoryIndex | 默认的索引页页面 |
ErrorLog | 错误日志文件 |
CustomLog | 访问日志文件 |
Timeout | 网页超时时间,默认为300秒 |
虚拟主机(基于IP地址)
如果服务器有多个IP地址,可以让每个IP地址与服务器上部署的网站一一对应,当用户请求访问不同的IP地址时,就可以访问到不同网站的页面资源。
- 首先配置多个服务器IP地址
- 创建网站目录(var/www目录下),写入或上传首页文件
- 在/etc/httpd/conf.d目录中新建配置文件,后缀必须是.conf,并写入配置信息,防火墙放行http
写入到etc/httpd/conf.d的格式如下
<VirtualHost 192.168.20.7:80> ServerAdmin www.mylinux.com DocumentRoot "/var/www/7" </VirtualHost>
基于域名
- 修改/etc/hosts文件,加入以下内容,前边为主机IP,中间是需要的域名,并确定域名能ping通
127.0.0.1 localhost.com cs1
127.0.0.2 localhost2.com cs2
127.0.0.3 localhost3.com cs3
2.分别在/var/www目录中创建三个用于保存网站数据的目录,并上传首页文件
3.进入/etc/httpd/conf.d/目录,创建配置文件httpd-vhosts.conf做相应的配置
<VirtualHost localhost.com:80>
DocumentRoot "/var/www/cs1"
ServerName localhost.com
</VirtualHost>
4.重启httpd服务即可