
作者简介:一名云计算网络运维人员、每天分享网络与运维的技术与干货。
公众号:网络豆云计算学堂
座右铭:低头赶路,敬事如仪
个人主页: 网络豆的主页
目录
相信大家在Windows上部署web服务也是有一定的了解与实践,那么你知道如何在Linux上部署web网站吗?
Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。

①开放源代码、跨平台应用
(Apache服务器可以运行在绝大数软硬件平台上,所有UNIX操作系统都可以运行,甚至可以良好的运行在Windows系统平台上)
②支持多种网页编程语言
(Apache服务器可支持的网页编程语言包括Perl、PHP、Python、java等)
③模块化设计 、运行稳定、良好的安全性
地址:http://httpd.apache.org/download.cgi


1.安装依赖库
sudo yum install gcc make zlib-devel pcre-devel openssl-devel
2.下载httpd源码包
- wget http://httpd.apache.org/download.cgi -O httpd-2.4.51.tar.gz
-
3.解压源码包
- tar -zxvf httpd-2.4.51.tar.gz
- cd httpd-2.4.51
4.配置编译选项
./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --with-mpm=prefork --with-included-apr --with-apxs=/usr/sbin/apxs --with-ssl=/usr/local/httpd/conf/extra --with-pcre=/usr/local/httpd/lib --with-z=/usr/local/httpd --with-curl=/usr/local/curl --enable-deflate --enable-userdir --with-included-apr-util=/usr/local/httpd/include --with-included-apr=$(which apr-1-config) --with-included-apr-util=$(which apr-1-installed) --with-ssl=/usr/local/httpd/conf/extra --with-ssl=$(which openssl)
5.编译并安装
make && sudo make install
6.启动httpd服务器
sudo /usr/local/httpd/bin/apachectl start
7.设置开机自启动
- sudo /usr/local/httpd/bin/a2enmod rewrite
- sudo /usr/local/httpd/bin/update-rc.d httpd defaults
- /usr/local/httpd:Apache安装目录,包含所有的配置文件、模块和其他相关文件。
-
- /usr/local/httpd/conf:Apache的配置文件目录,包含主配置文件httpd.conf和其他一些配置文件,如ssl.conf、vhost.conf等。
-
- /usr/local/httpd/include:Apache的头文件目录,包含所有使用的库和函数的头文件。
-
- /usr/local/httpd/lib:Apache的库文件目录,包含所有编译好的动态链接库文件。
-
- /usr/local/httpd/logs:Apache的日志文件目录,包含访问日志、错误日志和其他一些日志文件。
-
- /usr/local/httpd/modules:Apache的模块目录,包含所有已编译好的模块文件。
-
- /usr/sbin/apxs:Apache的扩展模块编译器。
-
- /usr/sbin/httpd:Apache的主程序,用于启动、停止和管理服务器进程。
-
- /usr/sbin/setenvif:Apache的环境变量设置工具,用于根据请求的User-Agent等信息设置环境变量。
-

决定httpd服务器的全局运行参数
- ServerRoot "/usr/local/httpd"
- Listen 80
- User daemon
- Group daemon
- ServerAdmin webmaster@benet.com
- ServerName www.benet.com
- DocumentRoot "/usr/local/httpd/htdocs"
- DirectoryIndex index.html index.php
- ErrorLog logs/error_log
- LogLevel warn
- CustomLog logs/access_log common
- PidFile logs/httpd.pid
- CharsetDefault UTF-8
- Include conf/extra/httpd-default.conf
- ……
- ServerRoot:服务目录
- Listen:监听的IP地址、端口号
- User:运行服务的用户身份
- Group:运行服务的组身份
- ServerAdmin:管理员邮箱
- ServerName:网站服务器的域名
- DocumentRoot:网页文档的根目录
- DirectoryIndex:默认的索引页文件
- ErrorLog:设置错误日志文件的路径
- LogLevel:记录日志的级别,默认为warn
-
- CustomLog:访问日志文件的位置
- PidFile:保存httpd进程PID号的文件
- AddDefaultCharset:设置站点中的网页默认使用的字符集编码
- Timeout:网络连接超时,默认为300秒
- KeepAlive:是否保持连接,可选On或Off
- MaxKeepAliveRequests:每次连接最多请求文件数
- KeepAliveTimeout:保持连接状态时的超时时间
- Include:需要包含进来的其他配置文件