Apache服务的搭建与配置
1. 使用yum包安装Apache软件
yum -y install httpd* 通过yum安装apache rpm -qa | grep httpd 查看安装的http包
安装成功后,会产生下面两个文件
/etc/httpd/conf/httpd.conf # 主配置文件 /var/www/html # 默认网站家目录
2. 认识配置文件里的主要参数
vim /etc/httpd/conf/httpd.conf 31 serverRoot "/etc/httpd" # 存放配置文件的目录 42 Listen 80 # Apache服务监听端口 66 User apache # 子进程的用户 67 Group apache # 子进程的组 86 ServerAdmin root@localhost # 设置管理员邮件地址 119 DocumentRoot "/var/www/html" --网站家目录 # 设置DocumentRoot指定目录的属性 131 <Directory "/var/www/html"> # 网站容器开始标识 144 Options Indexes FollowSymLinks # 找不到主页时,以目录的方式呈现,并允许链接到网站根目录以外 151 AllowOverride None # none不使用.htaccess控制,all允许 156 Require all granted # granted表示运行所有访问,denied表示拒绝所有访问 157 </Directory> # 容器结束 164 DirectoryIndex index.html # 定义主页文件,当访问到网站目录时如果有定义的主页文件,网站会自动访问 316 AddDefaultCharset UTF-8 # 字符编码,如果中文的话,有可能需要改为gb2312或者gbk,因你的网站文件的默认编码而异
3. 启动Apache网站
systemctl start httpd.service #启动服务 lsof -i:80 --查看httpd服务是否启动
更改家目录就修改如下两条设置并重启Apache
119 DocumentRoot "/var/www/html" --网站家目录 # 设置DocumentRoot指定目录的属性 131 <Directory "/var/www/html"> -- 网站容器开始标识
编译安装Apache服务
1. 安装编译所需要的信赖软件包
yum -y install gcc* make* apr apr-util pcre apr-devel apr-util-devel pcre-devel --安装依赖包
2. 安装OpenSSL和Apache
安装OpenSSL
https://www.openssl.org/source/openssl-1.1.1c.tar.gz --这个是1.1.1c的下载地址 #wget https://www.openssl.org/source/openssl-1.0.2m.tar.gz --下载openssl软件包(原文) wget https://www.openssl.org/source/openssl-1.1.1c.tar.gz --这边进行了修改 #tar xf ./openssl-1.0.2m.tar.gz -C /usr/src --解压到/usr/src目录(原文) tar xf ./openssl-1.1.1c.tar.gz -C /usr/src --再进行了修改 cd /usr/src/openssl-1.1.1c/ --切换路径到/usr/src目录 ./config --prefix=/usr/local/ssl --shared --检查配置指定路径到/usr/local/ssl
运行后出现如下提示
这是由于缺少了Perl 5导致的
于是我们要安装Perl 5
yum install perl --安装Perl5 ./config --prefix=/usr/local/ssl --shared --再次进行检查配置并指定路径 make && make install --编译安装 echo /usr/local/ssl/lib >> /etc/ld.so.conf --/usr/local/ssl/lib 内容写进去 /etc/ld.so.conf这个文件 ldconfig --使库文件生效
安装Apache
http://apache.org/dist/httpd/httpd-2.4.38.tar.gz --最新版apache下载地址 wget http://archive.apache.org/dist/httpd/httpd-2.4.28.tar.gz --下载apache软件包(原文) wget http://apache.org/dist/httpd/httpd-2.4.38.tar.gz --下载apache软件包(修改后) tar xf httpd-2.4.38.tar.gz -C /usr/src --解压到/usr/src cd /usr/src/httpd-2.4.38/ --进入该目录 ./configure -help --查看参数帮助 ./configure --prefix=/usr/local/apache2 --enable-so --enable-rewrite --enable-ssl --with-ssl=/usr/local/ssl --with-mpm=prefork make && make install --编译安装 以下是./configure 后面的参数详解 --prefix 指定安装路径 --enable-so 让apache核心装载DSO(动态共享目标) --enable-rewrite 启用重写功能 --enable-modules 将模块编译到apache中 --enable-ssl 打开ssl协议 --with-mpm 指定运行模型
运行模式:/etc/httpd/conf.modules.d/00-mpm.conf
多进程模型:prefork(预派生)
多进程多线程混合模型:worker(工作者)、event(事件)
编译安装成功后,安装在:/usr/local/apache2/ 目录下
配置文件:/usr/local/apache2/conf/httpd.conf
启动命令:/usr/local/apache2/bin/apachectl
默认网站家目录:/usr/local/apache2/htdcos
3. 修改家目录
vim /usr/local/apache2/conf/httpd.conf --修改配置文件 220 DocumentRoot "/www" --修改网站家目录,由/usr/local/apache2/htdocs改成/www 221 <Directory "/www"> --家目录这里建议一同修改 mkdir /www --创建网站家目录 echo "main page" > /www/index.html #systemctl stop httpd.service --该步骤是停止rpm包安装(yum安装)的http服务,如果没有安装则可以略过 /usr/local/apache2/bin/apachectl start --然后启动源码包编译安装的http服务
4. 配置支持中文
vim /usr/local/apache2/conf/httpd.conf # 在文件的最后新增以下参数 AddDefaultCharset UTF-8 # 默认以utf-8编码显示中文
5. 启动源码包版Apache
/usr/local/apache2/bin/apachectl restart --重新启动apache
6. 测试
echo "<h1>Apache源码包版,测试</h1>" > /www/index.html elinks localhost --因为没有图形化界面,是不能使用Firefox之类的图形浏览器
五、Apache配置虚拟主机
参考 https://blog.51cto.com/13525470/2070375