Linux高级应用——web网站服务

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: Linux高级应用——web网站服务

前言

相信大家在Windows上部署web服务也是有一定的了解与实践,那么你知道如何在Linux上部署web网站吗?


一.Apache

1.Apache介绍

Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。

官网:http://httpd.apache.org


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站点部署过程

  1. 确定网站的名称和IP地址。
  2. 配置启动httpd服务。
  3. 部署网页文档。
  4. 在客户端访问web站点。
  5. 查看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配置文件中常用的区域配置项

相关实践学习
通过日志服务实现云资源OSS的安全审计
本实验介绍如何通过日志服务实现云资源OSS的安全审计。
目录
相关文章
|
4月前
|
存储 监控 安全
Veeam Backup & Replication 13 之初见 - 基于 Linux 和 Web 控制台
Veeam Backup & Replication 13 之初见 - 基于 Linux 和 Web 控制台
186 1
Veeam Backup & Replication 13 之初见 - 基于 Linux 和 Web 控制台
|
4月前
|
前端开发 算法 API
构建高性能图像处理Web应用:Next.js与TailwindCSS实践
本文分享了构建在线图像黑白转换工具的技术实践,涵盖技术栈选择、架构设计与性能优化。项目采用Next.js提供优秀的SSR性能和SEO支持,TailwindCSS加速UI开发,WebAssembly实现高性能图像处理算法。通过渐进式处理、WebWorker隔离及内存管理等策略,解决大图像处理性能瓶颈,并确保跨浏览器兼容性和移动设备优化。实际应用案例展示了其即时处理、高质量输出和客户端隐私保护等特点。未来计划引入WebGPU加速、AI增强等功能,进一步提升用户体验。此技术栈为Web图像处理应用提供了高效可行的解决方案。
|
24天前
|
弹性计算 安全 Linux
阿里云服务器ECS安装宝塔Linux面板、安装网站(新手图文教程)
本教程详解如何在阿里云服务器上安装宝塔Linux面板,涵盖ECS服务器手动安装步骤,包括系统准备、远程连接、安装命令执行、端口开放及LNMP环境部署,手把手引导用户快速搭建网站环境。
|
3月前
|
开发框架 JSON 中间件
Go语言Web开发框架实践:使用 Gin 快速构建 Web 服务
Gin 是一个高效、轻量级的 Go 语言 Web 框架,支持中间件机制,非常适合开发 RESTful API。本文从安装到进阶技巧全面解析 Gin 的使用:快速入门示例(Hello Gin)、定义 RESTful 用户服务(增删改查接口实现),以及推荐实践如参数校验、中间件和路由分组等。通过对比标准库 `net/http`,Gin 提供更简洁灵活的开发体验。此外,还推荐了 GORM、Viper、Zap 等配合使用的工具库,助力高效开发。
|
4月前
|
缓存 前端开发 应用服务中间件
Web端实时通信技术SSE在携程机票业务中的实践应用
本文介绍了携程机票前端基于Server-Sent Events(SSE)实现服务端推送的企业级全链路通用技术解决方案。文章深入探讨了 SSE 技术在应用过程中包括方案对比、技术选型、链路层优化以及实际效果等多维度的技术细节,为类似使用场景提供普适性参考和借鉴。
115 7
|
5月前
|
中间件 Go
Golang | Gin:net/http与Gin启动web服务的简单比较
总的来说,`net/http`和 `Gin`都是优秀的库,它们各有优缺点。你应该根据你的需求和经验来选择最适合你的工具。希望这个比较可以帮助你做出决策。
200 35
|
5月前
|
Linux Shell
在Linux、CentOS7中设置shell脚本开机自启动服务
以上就是在CentOS 7中设置shell脚本开机自启动服务的全部步骤。希望这个指南能帮助你更好地管理你的Linux系统。
382 25
|
7月前
|
人工智能 Linux iOS开发
Burp Suite Professional 2025.2 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
Burp Suite Professional 2025.2 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
341 12
Burp Suite Professional 2025.2 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
|
7月前
|
数据采集 Web App开发 API
FastAPI与Selenium:打造高效的Web数据抓取服务 —— 采集Pixabay中的图片及相关信息
本文介绍了如何使用FastAPI和Selenium搭建RESTful接口,访问免版权图片网站Pixabay并采集图片及其描述信息。通过配置代理IP、User-Agent和Cookie,提高爬虫的稳定性和防封禁能力。环境依赖包括FastAPI、Uvicorn和Selenium等库。代码示例展示了完整的实现过程,涵盖代理设置、浏览器模拟及数据提取,并提供了详细的中文注释。适用于需要高效、稳定的Web数据抓取服务的开发者。
341 15
FastAPI与Selenium:打造高效的Web数据抓取服务 —— 采集Pixabay中的图片及相关信息
|
7月前
|
中间件 关系型数据库 数据库
docker快速部署OS web中间件 数据库 编程应用
通过Docker,可以轻松地部署操作系统、Web中间件、数据库和编程应用。本文详细介绍了使用Docker部署这些组件的基本步骤和命令,展示了如何通过Docker Compose编排多容器应用。希望本文能帮助开发者更高效地使用Docker进行应用部署和管理。
186 19