Linux云计算—Apache 服务器概述-安装-搭建 Web 网站服务器之前的环境搭建

news/2024/5/13 8:42:55/文章来源:https://blog.csdn.net/xueshenlaila/article/details/122254626

Apache 服务器概述-安装

Apache 服务器概述-安装

WEB 服务器也称为 WWW(WORLD WIDE WEB,万维网)服务器,主要功能是提供网上信息浏览
服务。
常见 web 服务器:

httpd(Apache)、nginx+PHP
Tomcat: jsp + html
win:IIS

客户端:IE 、firefox、chrome、手机(浏览器)Browser
今天的主角:LAMP=Linux Apache Mysql PHP 中的 Apache(HTTPD)

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 80
tcp 0 0 :::80 :::* LISTEN 3854/httpd

通过浏览器访问

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

在这里插入图片描述

主配置文件介绍

[root@xuegod63 ~]# vim /etc/httpd/conf/httpd.conf
ServerRoot "/etc/httpd" #httpd 服务的根目录
Listen 80 #监听端口,默认本地 IP,如果指定 ip 写上 IP:80
Include conf.modules.d / *.conf #当前目录下 conf.modules.d 目录下所有 conf 文件都生效
Options Indexes FollowSymLinks #Options Indexes 目录浏览 FollowSymLinks 用链接浏览
AllowOverride None #设置为 none,忽略.htaccess
Include conf.d / *.conf #conf.d 里面的 conf 文件也属有效配置文件
User apache #运行以哪个身份运行
Group apache #运行以哪个组的身份运行
ServerAdmin root@localhost #管理员邮箱
DocumentRoot "/var/www/html" #默认的主目录,如果改动要改动两处,Directory
<Directory "/var/www/html">
Options Indexes FollowSymLinks AllowOverride None
</Directory>
LogLevel 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
<?php
phpinfo();
?>
[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 地址为 cd@xuegod.cn,网页的编码类型采用 UTF-8,所有网站资
源都存放在/var/www/html 目录下,并将 Apache 的配置文件根目录设置为/etc/httpd 目录。
修改配置文件:

[root@xuegod63 ~]# vim /etc/httpd/conf/httpd.conf

设置 Apache 的根目录为/etc/httpd
设置 httpd 监听端口 80
设置管理员 E-mail 地址为 kill@xuegod.cn
设置 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 MK@xuegod.cn #设置管理员,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 <LocationMatch "^/+$">9 Options -Indexes10 ErrorDocument 403 /.noindex.html11 </LocationMatch>
为:8 #<LocationMatch "^/+$"> #把红色内容注释9 # Options -Indexes10 # ErrorDocument 403 /.noindex.html11 #</LocationMatch>

重启:

[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 <Directory "/var/www/html ">
为:132 <Directory "/var/www/html/bbs"> #子目录会继承这个目录的属性145 Options Indexes FollowSymLinks #Options:Indexes:目录浏览152 AllowOverride None #Followsymlinks:可以用连接
改:157 Require all granted #表示支持所有访问
为:157 # Require all granted
#加入如下:158 <RequireALL>159 Require ip 192.168.1.63 #允许本机 IP 访问160 Require not ip 192.168.1.103 #禁止物理机 IP 访问161 </RequireALL>
161 </Directory>

在这里插入图片描述
解释:

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.63
welcome 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.conf
163 Alias /phpdata/ "/usr/local/phpdata/"
164 <Directory "/usr/local/phpdata/">
165 Options Indexes FollowSymLinks
166 AllowOverride None
167 Require all granted
168 </Directory>
注: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.html
This Alias PHPdata

到这此章结束。想要了解更多技术干货下方有个小方块哦。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_748352.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

转:构建无坚不摧的网站环境——NLB+Cluster(二)

来自&#xff1a;http://technet.microsoft.com/zh-cn/ff806315.aspx上次咱们已经构建起了基于windows服务器群集&#xff08;Cluster&#xff09;的SQL数据库系统&#xff0c;解决了后台的问题&#xff0c;本次将会借助于windows网络负载平衡群集&#xff08;NLB&#xff09;解…

大型网站架构之应用服务器集群化

随着网站的发展&#xff0c;一台应用服务器无法处理太多用户请求&#xff0c;考虑部署多台应用服务器组成集群来提供服务。此时问题来了&#xff1f; 问题1&#xff1a;扩展到多台应用服务器时&#xff0c;可能同一个用户的先后两次请求由不同的应用服务器处理&#xff0c;这个…

介绍两个测试网页打开速度的网站

第一个是Pingdom Tools - Full page test 这个能详细测试网页各部分打开的时间官方介绍:The Full Page Test loads a complete HTML page including all objects (images, CSS, .s, RSS, Flash and frames/iframes). It mimics the way a page is loaded in a web browser.The …

【SEO优化,网络营销】刘克亚《利润腾挪》,一分钟销售51000元的书

刘克亚新作《利润腾挪》书和视频正式发售的第一分钟&#xff0c;就成交了17个订单&#xff0c;每单3000元&#xff0c;产生了51000元的销售业绩.这本书和视频是2010年9月初问世的&#xff0c;这两年内有超过5万人以上秘密的看过这本书和视频。你已经错过了克亚老师的面授和提前…

Win2003下实现Web虚拟网站

一、IP地址法一般情况下&#xff0c;一块网卡只设置了一个IP地址。如果我们为这块网卡绑定多个IP地址&#xff0c;每个IP地址对应一个Web站点&#xff0c;那么同样可以实现“一机多站”的目的。假定[url]www.ghq.com[/url]、study.ghq.com 和 test.ghq.com 三个网站的IP地址绑定…

.net 开发怎么实现前后端分离_React+Egg前后端分离实现个人网站

利用闲暇时光&#xff0c;对自己的个人网站进行了改版。虽然自己博客没写几篇&#xff0c;但对博客网站却进行了多次改版。转念又想。独乐乐不如众乐乐&#xff0c;于是又开源了出来&#xff0c;供大家学习和交流。这次和上次不同的是&#xff0c;这次使用了Node全栈开发。并且…

让用户关上门说话:覆盖全美6000个社区的邻居私密社交网站Nextdoor是如何壮大的?...

中国人常讲“远亲不如近邻”&#xff0c;老一辈的可能做得不错&#xff0c;可越往信息时代走&#xff0c;邻里之间似乎淡漠得越多。现在有多少人不是一回家就紧闭房门两耳不闻窗外事的&#xff1f;技术方便了我们生活的同时&#xff0c;也一定程度淡化了某些温暖的东西。据美国…

云服务器搭网站需要买域名吗,买了云服务器还要买域名吗

买了云服务器还要买域名吗 内容精选换一换当创建文件系统后&#xff0c;您需要使用云服务器来挂载该文件系统&#xff0c;以实现多个云服务器共享使用文件系统的目的。本章节以Windows 2012版本操作系统为例进行CIFS类型的文件系统的挂载。同一SFS容量型文件系统不能同时支持NF…

MSDTC服务无法启动,导致网站打不开

1. 如果只是提示需要MSDTC 那么点开始→运行→输入命令"net start msdtc",运行该命令即可. 2. 如果启动不了&#xff0c;请查看事件查看器 在系统事件中有错误:Distributed Transaction Coordinator 服务因 3221229584 (0xC0001010) 服务性错误而停止。 经多次试验,发…

网站运维异地备份方案及故障应急备用镜像站

网站运维异地备份方案及故障应急备用镜像站 定期检查异地备份故障应急时,启用应急Web服务 欢迎朋友一起交流&#xff0c;讨论。扣扣&#xff1a;柒⑥柒陆叁⑤叁伍转载于:https://blog.51cto.com/jimmyli/584992

web服务器的教学网站,04-WEB服务器

服务器----电脑WEB服务器-是一个程序---软件。在第二节课&#xff0c;我们购买了一台服务器后。接下来我们就可以通过远程连接IP 和电脑的账号密码 远程登录到这台服务器上面。有一些虚拟主机。就不能远程。只能通过FTP工具 登录上去后 进行文件的上传和下载。web服务器。额前面…

高处不胜寒网站排名理想后更需努力

2019独角兽企业重金招聘Python工程师标准>>> “无限风光虽在险峰&#xff0c;但玉树临风&#xff0c;高处不胜寒冷”&#xff0c;网站制作与网站优化就是这样一个过程&#xff0c;每个人都在追逐数目极其有限的几个位置&#xff0c;都在围着梦想不断冲刺努力。每天不…

优化网站设计(十):最小化JAVASCRIPT和CSS

前言 网站设计的优化是一个很大的话题,有一些通用的原则,也有针对不同开发平台的一些建议。这方面的研究一直没有停止过&#xff0c;我在不同的场合也分享过这样的话题。 作为通用的原则&#xff0c;雅虎的工程师团队曾经给出过35个最佳实践。这个列表请参考 Best Practices f…

易班站内应用、轻应用、网站接入、移动应用的区别

一、站内应用 地址如下&#xff1a; index.jsp对应如下页面 启动tomcat服务器&#xff0c;此时访问站内地址&#xff08; http://f.yiban.cn/wangyang&#xff09;。即可得到如下界面&#xff1a; 可以看到我们的应用是嵌套在易班的一个iframe中 二、轻应用 index.jsp对应如下…

ASP.NET MVC实现网站验证码功能

网站添加验证码&#xff0c;主要为防止机器人程序批量注册&#xff0c;或对特定的注册用户用特定程序暴力破解方式&#xff0c;以进行不断的登录、灌水等危害网站的操作。验证码被广泛应用在注册、登录、留言等提交信息到服务器端处理的页面中。 在ASP.NET网站中应用验证码…

BlueDream.js(蓝梦)——jQuery网站使用引导插件

小菜在前端世界游荡有些时间了&#xff0c;常见的插件多少有些了解&#xff0c;但却很少看到用户引导插件。 所谓用户引导插件&#xff0c;就是在第一次使用某个网站时&#xff0c;会弹出一些小动画&#xff0c;告诉你网站的基本使用方法&#xff0c;帮你快速入门。 这应该是个…

Nginx做为web服务器的网站

2019独角兽企业重金招聘Python工程师标准>>> Nginx 超越Apache的高性能和稳定性,使得国内使用 Nginx 作为 Web 服务器的网站也越来越多,其中有新浪、网易、腾讯等门户网站,六间房、酷6等视频分享网站,Discuz!、水木社区等知名论坛,豆瓣、YUPOO等新兴Web 2.0网站。 N…

ASP.NET vNext MVC 6 电商网站开发实战

国内第一个《微软下一代网站开发框架&#xff1a;ASP.NET MVC 6 新特性揭秘 》课程 微软特邀讲师 徐雷&#xff01;周六晚8点YY预定&#xff1a;http://t.cn/RPKMLGF 微软Visual Studio 2014 即将发布&#xff01;ASP.NET MVC 6有什么新特性&#xff1f; Web API 3.0有什么新变…

网站301重定向怎么设置

做网站优化&#xff0c;我们基本知道url标准化需要采用301重定向。重定向说直白点&#xff0c;就是通过方法将各种网络请求重新定个方向转到其它位置&#xff0c;也就是通常说的&#xff0c;网页跳转。那么如何设置和制作301重定向呢&#xff1f;下面列举几个比较常见的情况&am…

如何开发一个网站

希望本篇文章对入门的朋友有所帮助 那么我写这篇文章的目的也就达到了如何开发一个网站? 开发语言不是问题 今天我们就以php为基础展开。一。开发环境&#xff1a;我们熟悉的lamp是当前的流行架构 即 LINUXAPACHEMYSQLPHP 入门的朋友把主要精力放在php与mysql上即可。对于php需…