使用 Apache 搭建Web网站服务器(一)

web 服务概述

Web 服务器也称为 WWW(World Wide Web,万维网)服务器,主要功能是提供网上信息浏览服务

LAMP = Linux Apache Mysql PHP 中的 Apache ( HTTPD ).

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/httpd:http://httpd.apache.org/

什么是 Mysql

Mysql 是一个关系型数据库管理系统,由瑞典Mysql AB 公司开发,目前属于Orale旗下公司,他也是最流行的关系型数据库管理系统,特别是在Web y应用方面。

关系型数据库:它通过数据、关系和对数据的约束三者组成的数据模型来存放和管理数据

官方网站: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 就是一个脚本解释器! 官方网站:http://php.net/

PHP 服务器安装好之后,升级切记注意,不要盲目升级!因为它会废弃很多低效的语法!

LAMP 工作原理

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

  • 工作模式:B/S模式
  • 工作端口是:80/http 正常端口 443/https SSL端口

安装服务端:httpd

yum  -y  install httpd

或者

yum  -y install  httpd-devel


httpd-2.4.6-67.el7.centos.x86_64.rpmApache 服务的主程序包,服务器端必须安装该软件包

httpd-devel-2.4.6-67.el7.centos.x86_64.rpmApache 开发程序包

httpd-manual-2.4.6-67.el7.centos.noarch.rpmApache手册文档,包含HTML 格式的Apache 计划的Apache User's Guide 说明指南


安装字符界面下浏览器客户端:elinks

[root@python ~]# yum -y install elinks

浏览器可以看到:

[root@python ~]# elinks 192.168.1.128

Apache 主配置文件

[root@python conf]# ll /etc/httpd/conf/httpd.conf

主配置文件介绍:

vim  /etc/httpd/conf/httpd.conf

ServerName 192.168.1.235:80       #服务器主机名

PidFile run/httpd.pid                        #运行进程ID存放

Timeout 60                                #超过时间,多少 s 没有反应就超时

KeepAlive Off                        #是否允许一个永久的链接,设置为Off的时候,不能保持连接功能,传输效率比较低设置为 ON 时,可以提高服务器传输文件的效率,建议开启。

MaxKeepAliveRequests 100       #设置 KeepAlive 为 ON 时,设置客户端每次连接允许 请求相应最大文件数,默认 100 个。

KeepAliveTimeout 15                  #超时时间,同一个客户端下一个请求 15s 没收到就 超时

Listen 80                                    #监听端口,默认本地 IP,如果指定 ip 写上 IP:80

<IfModule prefork.c>

StartServers8                             #服务开始起启动 8 个进程

MinSpareServers5                      #最小空闲 5 个进程

MaxSpareServers20                   #最多空闲 20 个进程

ServerLimit256                           #服务器允许配置进程数上线

MaxClients256                           #最大连接数 256,超过要进入等候队列

MaxRequestsPerChild4000         #每个进程生存期内服务最大的请求数量,0 表示用不 结束

</IfModule>

<Directory />

Options FollowSymLinks            #Options Indexes 目录浏览FollowSymLinks 用连接浏览

AllowOverride None                  #设置为 none,忽略.htaccess

</Directory>

LoadModule auth_basic_module modules/mod_auth_basic.so             #载入的库,模块

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

Order allow,deny                       #这里默认后者生效,也就是 deny 生效

Allow from all                            #这里说允许所有

</Directory>

LogLevel warn                           #日志等级

DirectoryIndex index.html index.html.var               #首页 

AccessFileName .htaccess          #access 文件名,也可以在这里定义伪静态、防盗链等,不建议在这个文件定义

AddDefaultCharset UTF-8          #支持的语言,默认编码

#配置文件的最后是虚拟主机的字段,其中你大部分字段做个了解即可,用到的时候去查 即可

yum 的方式搭建 LAMP 环境
LAMP=Linux(存在)+Apache(HTTPD   已安装)+Mysql+PHP
#centos6
[root@xuegod67 ~]# yum -y install httpd mysql mysql-server php php-mysql
#centos7
[root@xuegod67~]#yum -y install httpd mariadb mariadb-server php php-mysql

测试数据库

[root@python ~]# systemctl start mysqld
[root@python ~]# systemctl enable mysqld
[root@python ~]# mysql -p1
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.26 MySQL Community Server (GPL)

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| book               |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.10 sec)

测试 apache 是否支持 php 

[root@python ~]# yum -y install php*

[root@python html]# cat index.php 
<?php
phpinfo();
?>

类似于 php 探针

扩展:探针;一个php 编写的文件,可以实时查看服务器硬盘资源、内存使用,网卡流量,系统负载,服务器时间等信息,定时刷新一次,以及包括服务器IP地址,Web服务器环境监测,php等信息。


 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值