Linux运维架构师 潜水
  • 4发帖数
  • 4主题数
  • 0关注数
  • 0粉丝
开启左侧

Apache 服务器概述-安装-搭建 Web 网站服务器之前的环境搭建

[复制链接]
Linux运维架构师 发表于 2021-12-31 14:36:34 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
Apache 服务器概述-安装-搭建 Web 网站服务器之前的环境搭建

同步滚动:关
Apache 服务器概述-安装

Apache 服务器概述-安装

WEB 服务器也称为 WWW(WORLD WIDE WEB,万维网)服务器,重要功能是提供网上信息浏览
服务。
常见 web 服务器:
httpd(Apache)、nginx+PHPTomcat: jsp + htmlwin:IIS客户端:IE 、firefox、chrome、手机(浏览器)Browser
今天的主角:LAMP=Linux Apache Mysql PHP 中的 Apache(HTTPD)
安装包下载地址:Linux云计算架构师:Centos8软件包的管理与安装
Lunix 系统
Linux+Apache+Mysql/MariaDB+Perl/PHP/Python 一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是由于常被放在一起使用,拥有了越来越高的兼容度,共同构成了一个强盛的 Web 应用程序平台。随着开源潮流的蓬勃发展,开放源代码 的 LAMP 已经与 J2EE 和.Net 商业软件形成三足鼎立之势,并且该软件开发的项目在软件方面的投资本钱较低,因此受到整个 IT 界的关注。从网站的流量上来说,50%以上的访问流量 是 LAMP 来提供的,LAMP 是最强盛的网站解决方案
什么是 Apache

Apache HTTPD Server 简称 Apache,是 Apache 软件基金会的一个开源的网页服务器, 可以在
大多数计算机利用系统中运行,由于其多平台和安全性被广泛使用,是最流行的 Web 服务器端软件之
一。它快速、可靠并且可通过简单的 API 扩展,将 Perl/Python 等表明器编 译到服务器中!
Apache HTTP 服务器是一个模块化的服务器,各个功能使用模块化举行插拔! 目前支持 Windows,
Linux,Unix 等平台!
Apache 软件基金会(也就是 Apache Software Foundation,简称为 ASF),是专门为运作一个
开源软件项目的 Apache 的团体提供支持的非盈利性组织,这个开源软件项目就是 Apache 项目!那么
我们的 HTTPD 也只是 Apache 的开源项目之一!
重要的开源项目:HTTP Server,Ant,DB,iBATIS,Jakarta,Logging,Maven,
Struts, Tomcat,Tapestry,Hadoop 等等。只是最有名的是 HTTP Server,所以现在所说
的 Apache 已 经就是 HTTPD Server 的代号了! 我们还见的比较多的是 Tomcat,Hadoop 等项目官方
网站:
http://www.apache.org/ http://httpd.apache.org

什么是 Mysql

MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 旗下公
司,他也是最流行的关系型数据库管理系统!特别是在 WEB 应用方面!
关系型数据库:它通过数据、关系和对数据的约束三者构成的数据模型来存放和管理数
据,官方网站:http://www.mysql.com/
什么是 PHP

PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通 用开源脚
本语言。语法吸取了 C 语言、Java 和 Perl 的特点,利于学习,使用广泛,重要适 用于 Web 开发领域。
PHP 独特的语法混淆了 C、Java、Perl 以及 PHP 自创的语法。
它可以 比 CGI 或者 Perl 更快速地执行动态网页。用 PHP 做出的动态页面与其他的编程语言相
比, PHP 是将程序嵌入到 HTML(标准通用标记语言下的一个应用)文档中去执行,执行服从比 完全
生成 HTML 标记的 CGI 要高许多;PHP 还可以执行编译后代码,编译可以达到加密和 优化代码运行,
使代码运行更快。简单的说,PHP 就是一个脚本表明器!
PHP 服务器安装好之后,升级切记注意,不要盲目升级!由于它会废弃很多低效的语法! 官方网
站:http://php.net/
LAMP 工作原理


Web 服务器的工作模式和端口

工作模式是:B/S 模式
工作端口是:
正常端口:80/http
SSL 端口:443/https
安装服务器端:httpd
[root@xuegod63 ~]# yum -y install httpd[root@xuegod63 ~]# cd /mnt/Packages/[root@xuegod63 Packages]# ls httpd-*httpd-2.4.6-67.el7.centos.x86_64.rpm:Apache 服务的主程序包,服务器端必须安装该软件包httpd-devel-2.4.6-67.el7.centos.x86_64.rpm:Apache 开发程序包httpd-manual-2.4.6-67.el7.centos.noarch.rpm:Apache 手册文档,包罗 HTML 格式的Apache 计划的 Apache User's Guide 阐明指南httpd-tools-2.4.6-67.el7.centos.x86_64.rpm:Apache 相关工具包后主动解决安装很多依赖的软件包,后期大家在学习源码编译安装的时候,会遇到这样的问题,需要
手动把依赖的包安装好,才华编译通过。
安装字符界面的下浏览器客户端:elinks
安装:
[root@xuegod63 Packages]# yum -y install elinks浏览器
apache 主配置文件
[root@xuegod63 Packages]# ll /etc/httpd/conf/httpd.conf[root@xuegod63 Packages]# cd启动服务
[root@xuegod63 ~]# systemctl start httpd[root@xuegod63 ~]# systemctl enable httpd查看端口
[root@xuegod63 Packages]# netstat -anutp | grep 80tcp 0 0 :::80 :::* LISTEN 3854/httpd通过浏览器访问

[root@xuegod63 ~]# elinks 192.168.1.63 #按 Q 退出

主配置文件介绍

[root@xuegod63 ~]# vim /etc/httpd/conf/httpd.confServerRoot "/etc/httpd" #httpd 服务的根目录Listen 80 #监听端口,默认当地 IP,假如指定 ip 写上 IP:80Include conf.modules.d / *.conf #当前目录下 conf.modules.d 目录下所有 conf 文件都见效Options Indexes FollowSymLinks #Options Indexes 目录浏览 FollowSymLinks 用链接浏览AllowOverride None #设置为 none,忽略.htaccessInclude conf.d / *.conf #conf.d 内里的 conf 文件也属有用配置文件User apache #运行以哪个身份运行Group apache #运行以哪个组的身份运行ServerAdmin root@localhost #管理员邮箱DocumentRoot "/var/www/html" #默认的主目录,假如改动要改动两处,DirectoryOptions Indexes FollowSymLinks AllowOverride NoneLogLevel warn #日志品级AddDefaultCharset UTF-8 #支持的语言,默认编码yum 的方式搭建 LAMP 环境

LAMP=Linux(存在)+Apache(HTTPD 已安装)+Mysql+PHP#centos7[root@xuegod67~]# yum -y install httpd mariadb mariadb-server php php-mysql测试数据库:
[root@xuegod63 ~]# systemctl start mariadb[root@xuegod63 ~]# systemctl enable mariadb[root@xuegod63 ~]# mysql #登岸测试mysql> show databases;mysql>exit;测试 apache 是否支持 php
创建一个文件:
[root@xuegod63 ~]# cd /var/www/html/[root@xuegod63 html]# vim index.php[root@xuegod63 html]# systemctl restart httpd访问查看
类似于 PHP 探针:
扩展:探针:一个 PHP 编写的文件,可以实时查看服务器硬盘资源、内存占用、网卡流量、系统负
载、服务器时间等信息,定时刷新一次。以及包括服务器 IP 地址,Web 服务器环境监测,php 等信
息。
实用于主机运维人员,个人站长等。
配置 web 服务器-搭建 LAMP 环境

例 1: 搭建一台测试 web 服务器
案例:
部门内部搭建一台 WEB 服务器,接纳的 IP 地址和端口为 192.168.1.63:80,首页接纳
index.html 文件。管理员 E-mail 地址为 [email protected],网页的编码类型接纳 UTF-8,所有网站资
源都存放在/var/www/html 目录下,并将 Apache 的配置文件根目录设置为/etc/httpd 目录。
修改配置文件:
[root@xuegod63 ~]# vim /etc/httpd/conf/httpd.conf设置 Apache 的根目录为/etc/httpd
设置 httpd 监听端口 80
设置管理员 E-mail 地址为 [email protected]
设置 WEB 服务器的主机名和监听端口为 192.168.1.63:80
设置 Apache 文档目录为/var/www/html
设置主页文件为 index.html
设置服务器的默认编码为 UTF-8
改配置文件之前,先备份,以便恢复。
[root@xuegod63 ~]# cp /etc/httpd/conf/httpd.conf{,.bak}修改配置文件相关参数:
[root@xuegod63 ~]# vim /etc/httpd/conf/httpd.conf #以下参数需要我们掌握31 ServerRoot "/etc/httpd" #Apache 配置文件的根目录32 Timeout 60 #添加此项,超时时间42 Listen 80 #监听的端口改:87 ServerAdmin root@localhost为:87 ServerAdmin [email protected] #设置管理员,e-mail 地址改:96 #ServerName www.example.com:80为:96 ServerName 192.168.1.63:80 #服务器主机名120 DocumentRoot "/var/www/html" #网站页面根目录145 Options Indexes FollowSymLinks #当一个目录没有默认首页时,答应显示此目录列表改:165 DirectoryIndex index.html为:165 DirectoryIndex index.html index.php #指定默认首页317 AddDefaultCharset UTF-8 #设置服务器的默认编码为: UTF8取消 Apache 默认欢迎页:
[root@xuegod63 ~]# vim /etc/httpd/conf.d/welcome.conf# This configuration file enables the default "Welcome"# page if there is no default index page present for# the root URL. To disable the Welcome page, comment# out all the lines below.#改:8  9 Options -Indexes 10 ErrorDocument 403 /.noindex.html 11 为:8 # #把红色内容解释 9 # Options -Indexes 10 # ErrorDocument 403 /.noindex.html 11 #重启:
[root@xuegod63 ~]# systemctl restart httpd创建首页:
[root@xuegod63 ~]# echo 'welcome to www.xuegod.cn!' >/var/www/html/index.html测试:



修改 web 网站根目录-配置别名-虚拟目录

LAMP 环境,几种不同的安全访问机制的实现:
修改网站目录对应参数及权限:

修改网站默认根目录,并且设置访问权限,只有在我答应的范围之内可以访问
创建目录,创建测试首页
[root@xuegod63 ~]# mkdir /var/www/html/bbs[root@xuegod63 ~]# cp /var/www/html/index.html /var/www/html/bbs/修改网站默认根目录
[root@xuegod63 ~]# vim /etc/httpd/conf/httpd.conf设置文档目录为/var/www/html/bbs
修改 DocumentRoot 路径为 指定的目录改:120 DocumentRoot "/var/www/html"为:120 DocumentRoot "/var/www/html/bbs"答应所有人访问/var/www/html/bbs 目录目录与访问控制:改:132 为:132  #子目录会继承这个目录的属性 145 Options Indexes FollowSymLinks #Options:Indexes:目录浏览 152 AllowOverride None #Followsymlinks:可以用毗连改:157 Require all granted #表示支持所有访问为:157 # Require all granted#加入如下: 158  159 Require ip 192.168.1.63 #答应本机 IP 访问 160 Require not ip 192.168.1.103 #禁止物理机 IP 访问 161 161



表明:
Apache2.4 的访问控制:Require all granted #答应所有Require all denied #拒绝所有Require method http-method [http-method] ... #答应,特定的 HTTP 方法Require user userid [ userid ] ... #答应,特定用户Require group group-name [group-name] ... #答应,特定用户组Require valid-user #答应,有用用户Require ip 10 172.20 192.168.2 #答应 特定 IP 和网段Require not ip 10 172.20 192.168.2 #不答应 特定 IP 和网段[root@xuegod63 ~]# systemctl restart httpd测试
在物理机上访问 http://192.168.1.63





在 Linux 主机上访问:
[root@xuegod63 ~]# curl 192.168.1.63welcome to www.xuegod.cn!使用别名,引用网站根目录以外的路径。

将/usr/local/phpdata 目录通过虚拟目录功能添加到网站根目录。当访问 http://192.168.1.63/
phpdata/ 时,就可以访问目录/usr/local/phpdata 中的内容。
注:Apache 的别名也叫虚拟目录
语法:
AliasURL 路径 PATH 物理路径
创建测试数据:
[root@xuegod63 ~]# mkdir /usr/local/phpdata[root@xuegod63 ~]# echo "This Alias PHPdata" > /usr/local/phpdata/index.html修改配置文件:
[root@xuegod63 ~]# vim /etc/httpd/conf/httpd.conf163 Alias /phpdata/ "/usr/local/phpdata/"164 165 Options Indexes FollowSymLinks166 AllowOverride None167 Require all granted168 注:Alias /phpdata/ "/usr/local/phpdata/"#/phpdata/ 可以随意起。比如改/phpdata/ 为/php/ 则访问链接:http://192.168.1.63/php/测试:[root@xuegod63 ~]# systemctl restart httpd[root@xuegod63 ~]# curl 192.168.1.63/phpdata/This Alias PHPdata或:[root@xuegod63 ~]# curl 192.168.1.63/phpdata/index.htmlThis Alias PHPdata
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

猜你喜欢
在线客服邮箱
wxcy#wkgb.net

邮箱地址#换为@

Powered by 创意电子 ©2018-现在 专注资源实战分享源码下载站联盟商城