前言
相信大家在Windows上部署web服务也是有一定的了解与实践,那么你知道如何在Linux上部署web网站吗?
一.Apache
1.Apache介绍
Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。
2.Apache的特点
①开放源代码、跨平台应用
(Apache服务器可以运行在绝大数软硬件平台上,所有UNIX操作系统都可以运行,甚至可以良好的运行在Windows系统平台上)
②支持多种网页编程语言
(Apache服务器可支持的网页编程语言包括Perl、PHP、Python、java等)
③模块化设计 、运行稳定、良好的安全性
3.Apache版本
1.X
- 目前最高版本是1.3,运行稳定
- 向下兼容性较好,但缺乏一些较新的功能
2.X
- 目前最高版本是2.4
- 具有更多的功能特性
- 与1.X相比,配置管理风格存在较大差异
二.安装httpd服务器
1.编译安装httpd服务器的优点
- 具有较大的自由度,功能可定制
- 可及时获得最新的软件版本
- 普遍适用于大多数Linux版本,便于移植使用
2.获得Apache服务器的源码包
地址:http://httpd.apache.org/download.cgi
3.编译安装操作步骤
4.CentOS 7上编译安装httpd服务的步骤:
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
三.httpd服务的目录结构
1.主要目录和文件:
/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等信息设置环境变量。
2.Web站点部署过程
- 确定网站的名称和IP地址。
- 配置启动httpd服务。
- 部署网页文档。
- 在客户端访问web站点。
- 查看web站点的访问情况。
四.httpd.conf配置文件
1.全局配置项
决定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 ……
2.常用的全局配置参数
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:需要包含进来的其他配置文件
本章总结
- Apache编译安装基本过程
- Linux系统下添加系统服务的方法
- Web站点的部署过程
- httpd.conf配置文件中常用的全局配置项
- httpd.conf配置文件中常用的区域配置项