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配置文件中常用的区域配置项

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
2月前
|
存储 监控 安全
如何在Python Web开发中确保应用的安全性?
如何在Python Web开发中确保应用的安全性?
|
2月前
|
前端开发 JavaScript
探索现代Web应用的微前端架构
【10月更文挑战第40天】在数字时代的浪潮中,Web应用的发展日益复杂多变。微前端架构作为一种新兴的设计理念,正逐步改变着传统的单一前端开发模式。本文将深入探讨微前端的核心概念、实现原理及其在实际项目中的应用,同时通过一个简单的代码示例,揭示如何将一个庞大的前端工程拆分成小而美的模块,进而提升项目的可维护性、可扩展性和开发效率。
|
19天前
|
弹性计算 Java 关系型数据库
Web应用上云经典架构实践教学
Web应用上云经典架构实践教学
Web应用上云经典架构实践教学
|
27天前
|
Kubernetes 安全 Devops
有效抵御网络应用及API威胁,聊聊F5 BIG-IP Next Web应用防火墙
有效抵御网络应用及API威胁,聊聊F5 BIG-IP Next Web应用防火墙
59 10
有效抵御网络应用及API威胁,聊聊F5 BIG-IP Next Web应用防火墙
|
18天前
|
负载均衡 Ubuntu 应用服务中间件
nginx修改网站默认根目录及发布(linux、centos、ubuntu)openEuler软件源repo站点
通过合理配置 Nginx,我们可以高效地管理和发布软件源,为用户提供稳定可靠的服务。
79 13
|
19天前
|
弹性计算 Java 数据库
Web应用上云经典架构实战
本课程详细介绍了Web应用上云的经典架构实战,涵盖前期准备、配置ALB、创建服务器组和监听、验证ECS公网能力、环境配置(JDK、Maven、Node、Git)、下载并运行若依框架、操作第二台ECS以及验证高可用性。通过具体步骤和命令,帮助学员快速掌握云上部署的全流程。
|
2月前
|
Linux 应用服务中间件 Shell
linux系统服务二!
本文详细介绍了Linux系统的启动流程,包括CentOS 7的具体启动步骤,从BIOS自检到加载内核、启动systemd程序等。同时,文章还对比了CentOS 6和CentOS 7的启动流程,分析了启动过程中的耗时情况。接着,文章讲解了Linux的运行级别及其管理命令,systemd的基本概念、优势及常用命令,并提供了自定义systemd启动文件的示例。最后,文章介绍了单用户模式和救援模式的使用方法,包括如何找回忘记的密码和修复启动故障。
48 5
linux系统服务二!
|
2月前
|
Linux 应用服务中间件 Shell
linux系统服务!!!
本文详细介绍了Linux系统(以CentOS7为例)的启动流程,包括BIOS自检、读取MBR信息、加载Grub菜单、加载内核及驱动程序、启动systemd程序加载必要文件等五个主要步骤。同时,文章还对比了CentOS6和CentOS7的启动流程图,并分析了启动流程的耗时。此外,文中还讲解了Linux的运行级别、systemd的基本概念及其优势,以及如何使用systemd管理服务。最后,文章提供了单用户模式和救援模式的实战案例,帮助读者理解如何在系统启动出现问题时进行修复。
57 3
linux系统服务!!!
|
2月前
|
前端开发 JavaScript UED
在数字化时代,Web 应用性能优化尤为重要。本文探讨了CSS与HTML在提升Web性能中的关键作用及未来趋势
在数字化时代,Web 应用性能优化尤为重要。本文探讨了CSS与HTML在提升Web性能中的关键作用及未来趋势,包括样式表优化、DOM操作减少、图像优化等技术,并分析了电商网站的具体案例,强调了技术演进对Web性能的深远影响。
43 5
|
2月前
|
机器学习/深度学习 人工智能 JavaScript
JavaScript和TypeScript的未来发展趋势及其在Web开发中的应用前景
本文探讨了JavaScript和TypeScript的未来发展趋势及其在Web开发中的应用前景。JavaScript将注重性能优化、跨平台开发、AI融合及WebAssembly整合;TypeScript则强调与框架整合、强类型检查、前端工程化及WebAssembly的深度结合。两者结合发展,特别是在Vue 3.0中完全采用TypeScript编写,预示着未来的Web开发将更加高效、可靠。
53 4