Web服务器搭建手册(Apache+PHP+Mysql)

目录

Web服务器搭建手册之Apache+PHP+MySQL篇 3

一、Apache服务器软件的搭建 3

步骤一:官网下载Apache及运行库 3

步骤二:解压下载的文件(httpd-2.4.41-win64-VS16.zip) 4

步骤三:Apache服务器的配置 5

步骤四:安装Apache服务(设定成系统服务) 7

二、PHP环境搭建 8

步骤一:下载PHP 8

步骤二:解压文件 9

步骤三: 添加系统变量Path值: 10

步骤四:查看设置是否成功 11

步骤五:php.ini的设置 11

步骤六:在Apache中添加对PHP7的支持 13

步骤七:测试PHP安装配置是否成功。 14

三、MySQL的搭建 15

步骤一:下载MySQL 15

步骤二:解压文件并设定系统变量 16

步骤三:添加my.ini配置文件 17

步骤四:安装mysql系统服务 19

实用技巧 22

问题一:如果在安装过程中出现下面的错误提示: 22

问题二:MySQL管理工具Navicat如何安装使用 23

问题三:Apache+PHP+Mysql设定好后,局域网电脑不能通过IP访问Web服务器的解决方法 26

问题四:Apache如何升级 30

Web服务器搭建手册之Apache+PHP+MySQL篇

一、Apache服务器软件的搭建

步骤一:官网下载Apache及运行库

  1. 网址:https://www.apachelounge.com/download/,如下图所示,根据自己电脑的系统是64位还是32位选择对应的版本下载:

2. 下载 Visual C++ Redistributable for Visual Studio 2015-2019运行库vc_redist_x64 或者 vc_redist_x86,网址如下:

注意针对操作系统版本下载对应的运行库:

https://aka.ms/vs/16/release/VC_redist.x64.exe(64位系统用)

https://aka.ms/vs/16/release/VC_redist.x86.exe(32位系统用)

注:新版本的需要下载Visual C++ Redistributable for Visual Studio 2015-2022运行库。

以64位系统为例,下载后直接运行并安装即可:

※建议安装完成Microsoft Visual C++ 2015-2019后重新启动计算机,以使安装的运行库生效。

3. 下载Notepad++

主要作用是:用来编辑Apache、PHP、Mysql的配置文件

下载网址:https://notepad-plus.en.softonic.com/download

如下图所示,点击下载即可;

下载后安装NotePad++。

步骤二:解压下载的文件(httpd-2.4.41-win64-VS16.zip)

  1. 将下载的Apache(httpd-2.4.41-win64-VS16.zip)解压到D盘

注意:只解压Apache24这个文件夹就可以了,如下图:

2. 打开D盘,找到Apache24,改名为:Apache,如下图所示:

3. 添加系统变量Path值:D:\\Apache;D:\\Apache\\bin

4. 进入Apache文件夹,在这个文件夹下会有很多子文件夹,像bin、conf等,每个文件夹都有它各自的用途,如下图所示:

步骤三:Apache服务器的配置

一、httpd.conf主配置文件的修改

  • Apache的绝对安装目录的修改
  1. 用NotePad++打开conf\\httpd.conf主配置文件,如下图所示:

2. 搜索定位“Define SRVROOT”,将SRVROOT目录修改成Apache安装目录,如下图所示:

3. 搜索定位“DocumentRoot”,将其修改为如下图所示的内容:

  • 修改服务器名称

搜索定位“#ServerName”,将其修改为如下图所示的内容,注意:去掉#号:

  • 修改网站索引页

搜索定位“DirectoryIndex”,添加如下图所示的内容:

最后,保存并退出,即可完成对httpd.conf文件的配置。

二、Mime.types的修改

在相同文件夹下找到并打开Mime.types文件,查找定位:application/x-msdownload,在其后添加要下载的文件类型(扩展名),目的是增加可下载的文件类型:

保存修改,退出文件,至此,两个配置文件修改完成。

步骤四:安装Apache服务(设定成系统服务)

运行CMD,在CMD窗口中输入如下命令:

httpd -t(回车)

//检测配置文件是否有语法错误;

httpd -k install -n Apache(回车)

//-k install安装系统服务,-n命名为Apache

net start Apache(回车)

//启动新建的Apache服务

删除Apache服务(建议在删除Apache安装目录时使用):

Net stop Apache(回车)

Sc delete Apache(回车)

※ 注:后续还要添加对PHP的支持…

如果重新安装了系统,则Apache、PHP、Mysql目录都存在的情况下,仅需要创建Apache和Mysql服务即可。

二、PHP环境搭建

步骤一:下载PHP

打开网址:https://windows.php.net/download,选择“Thread Safe”,点击下面的Zip下载

扩展:PHP Non Thread Safe和Thread Safe区别

None Thread Safe就是非线程安全,在执行时不进行线程(thread)安全检查。

Thread Safe就是线程安全,执行时会进行线程(thread)安全检查,以防止有新要求就启动新线程,耗尽系统资源。

为了与外部交换数据,PHP提供了一种叫SAPI的接口。

SAPI是一个中间过程,提供了一个和外部通信的接口,有点类似于socket。

SAPI使得PHP可以和其他应用进行交互数据(如Apache、Nginx等)。

PHP默认提供了很多种SAPI,常见的提供给Apache、Nginx、IIS6/7的FastCGI,单独给IIS的ISAPI,以及Shell的CLI。

FastCGI执行方式是以单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行效率。而线程安全检查是为ISAPI方式的PHP准备的,也就是为IIS准备的,因为有许多php模块都不是线程安全的,所以需要使用Thread Safe的PHP。

所以,如果是以 FastCGI 执行 PHP ,都建议用Non Thread Safe的 PHP (zip安装包)。

步骤二:解压文件

将下载的文件php-7.3.9-Win32-VC15-x64(Thread Safe).zip解压到D:\\PHP文件夹下

如下图所示:

步骤三: 添加系统变量Path值:

作用:方便后序命令操作

添加系统变量Path值:D:\\PHP

步骤四:查看设置是否成功

※使设置的路径不用重启计算机就可生效:

方法一:命令窗口设定路径法

方法二:结束explorer.exe(Windows图形壳)方法:

运行CMD,再运行php -v查看是否设置成功,如下图:

步骤五:php.ini的设置

1. 将D:\\php.ini-development改名为php.ini;

2. 用NotePad++打开php.ini,找到[;extension_dir = \”ext\”],替换成“D:\\PHP\\ext”

注:关于目录之间的分隔符,可用”\\”或”/”,即D:\\PHP\\ext和D:/PHP/ext都是可以的。

如下图所示的修改结果:

3. 上传文件的相关设定

(包括:允许上传文件、上传文件临时存放目录、上传文件大小、同时上传文件数的设定)

4. PHP文件请求限定设置:

5. 表单上传值的设定:

说明:步骤3-5的设定可实现大体积文件的上传。

6. 开启mysqli扩展,方便连接mysql数据库

7. 设定时区为国内时区

8. 设定Session文件的存储目录

步骤六:在Apache中添加对PHP7的支持

  1. 用NotePad++打开[D:\\Apache\\conf\\httpd.conf]主配置文件,在其末尾添加:

# php7 support

#加载php模块

LoadModule php7_module \”D:\\php\\php7apache2_4.dll\”

<IfModule php7_module>

#设定.php文件被x-httpd-php服务器处理

AddHandler application/x-httpd-php .php

#添加可执行PHP的文件类型

AddType application/x-httpd-php .php .htm .html

# configure the path to php.ini

PHPIniDir \”D:\\php\”

</IfModule>

添加结果如下图所示:

注:下面是添加新版本PHP8的方法,参考:

# php8 support

#加载php8模块

LoadModule php_module \”D:\\php\\php8apache2_4.dll\”

<IfModule php_module>

#设定.php文件被x-httpd-php服务器处理

AddHandler application/x-httpd-php .php

#添加可执行PHP的文件类型

AddType application/x-httpd-php .php .htm .html

# configure the path to php.ini

PHPIniDir \”D:\\php\”

</IfModule>

  1. 用命令 httpd -t来测试添加的内容是否有错误,之后停止和启动Apache服务,目的是让PHP模块正常工作

注:除了用httpd -t检测外,我们也可用httpd -M命令来查看PHP模块是否加载成功:

步骤七:测试PHP安装配置是否成功。

1. 新建phpinfo.php文件,输入如下内容:

2. 在浏览器中打开网址:http://localhost/phpinfo.php,如果返回如下图所示的页面内容则表示PHP安装配置成功:

三、MySQL的搭建

步骤一:下载MySQL

1. 打开网址:https://dev.mysql.com/downloads/mysql/(该页面是MySQL免费版,即我们所说的社区版)

点击下载按钮:

2. 在弹出的新页面,点击“No thanks, just start my download.”开始下载

步骤二:解压文件并设定系统变量

1. 解压下载的文件(mysql-8.0.17-winx64.zip)到D:\\MySQL

2. Path变量添加:D:\\Mysql;D:\\Mysql\\bin

步骤三:添加my.ini配置文件

在Mysql安装目录下新建my.ini文件,保存编码为ANSI,如下图:

添加内容如下:

[client]

host = localhost

# 设置数据库端口,默认的端口是3306

port = 3306

# 设置登录密码

# 在这里设置了password参数值后就可以在登录时不用输入密码直接进入

# password = \”\”

# 设置默认的客户端字符集,建议设置成utf8

default-character-set = utf8mb4

[mysql]

# 设置mysql客户端默认字符集

default-character-set=utf8

[mysqld]

# mysql服务端默认监听(listen on)的TCP/IP端口

port = 3306

# 基准路径(即MySQL的安装路径),其他路径都相对于这个路径

basedir = \”D:/mysql\”

# MySQL数据库文件存放目录

datadir = \”D:/mysql/data\”

# 服务器端使用的默认字符集(8比特编码的utf-8字符集)

character-set-server = utf8mb4

# log

log-error = \”D:/mysql/log/error.log\”

slow_query_log_file = \”D:/mysql/log/slow.log\”

# 创建新表时将使用的默认存储引擎

default-storage-engine = INNODB

innodb_data_file_path=ibdata1:128M;ibdata2:128M:autoextend

# mysql服务器支持的最大并发连接数(用户数)。

# 但总会预留其中的一个连接给管理员使用超级权限登录

max_connections = 100

# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统

max_connect_errors=10

# 服务端使用的字符集默认

# 查询缓存大小,用于缓存SELECT查询结果。

# 如果有许多返回相同查询结果的SELECT查询,并且很少改变表,

# 可以设置query_cache_size大于0,可以极大改善查询效率。

# 而如果表数据频繁变化,就不要使用这个,会适得其反。

#query_cache_size = 0

# 内存中的每个临时表允许的最大大小。如果临时表大小超过该值,

# 临时表将自动转为基于磁盘的表(Disk Based Table)。

tmp_table_size=20M

# 指定表高速缓存的大小

table_open_cache=256

# Key Buffer大小,用于缓存MyISAM表的索引块。决定数据库索引处理的速度(尤其是索引读)

key_buffer_size=8M

thread_cache_size=8

步骤四:安装mysql系统服务

1. 运行CMD,进入D:\\MySQL\\Bin目录下,然后运行如下命令:

Mysqld –initialize-insecure –console

//执行完这条命令后,MySQL会创建一个data文件夹,并且建好默认数据库,登录的用户名为root,密码为空,(如果不想产生一个随机密码,则不加-insecure)如下图:

Mysqld -install

//安装系统服务,服务名称为默认的mysql

Net start mysql

//启动mysql系统服务

这是最新版本的截图:

要想删除mysql服务,需要先停止服务,再删除服务(删除mysql时最好这样做)。

Net stop mysql //停止系统服务

Sc delete mysql //删除系统服务

注:安装时一定要进入安装目录下运行安装命令,否则有可能导致无法正常启动服务的情况,如下图所示的情况(默认目录文件是C:\\Program Files\\MySQL\\MySQL Server 8.0\\mysqld):

这是正确的安装(D:\\MySQL\\bin\\mysqld):

注:我们可以创建一个log文件夹,用来查看日志,帮助排错。这个文件夹的名字要跟前面所说的配置my.ini里面的相对应:

# log

log-error = \”D:/mysql/log/error.log\”

我们也可直接用mysqld –console命令查看日志。

至此,Aapceh+PHP+Mysql已全部安装完成!

实用技巧

问题一:如果在安装过程中出现下面的错误提示:

则是因为保存的INI文件编码格式不对,修改为:ANSI即可:

问题二:MySQL管理工具Navicat如何安装使用

1.安装MySQL,并运行:

2. 进入数据库服务器,点击“用户”

3. 将密码验证规则改为如下图所示的规则:

4. 新建数据库

5. 可通过备份功能还原先前做的备份数据

问题三:Apache设定好后,局域网电脑不能通过IP访问Web服务器的解决方法

新添加入站规则(适应Win2019 Server, Windows7):

具体操作步骤:

1. 新建防火墙入站规则即可,步骤如下图:

2.选择“端口”,点“下一步”:

3. 在“特定本地端口”处输入80,点下一步:

4. 此处无需操作(默认即可),直接点下一步

5. 直接点下一步

6. 在名称处输入:Web(注:此处可自定义名称,名称是为了描述其功能)

点完成按钮就完创建了新的规则。输入IP地址访问就可以了。

问题四:Apache如何升级

1. 进入命令窗口,输入httpd -v查看Apache当前版本号

2. 到官网查看并下载新版本,如下图:

3. 为避免出现意外,可先直接备份一下整个Apache文件夹

4. 删除D:\\Apache文件下所有内容,并将新下载的Apache压缩包中的所有文件及文件夹复制到Apache文件夹中:

5. 将备份文件夹中的httpd.conf复制到Apache文件夹中并替换:

6. 运行ApacheMonitor.exe并点击start

7. 命令窗口执行httpd -v 再次查看当前版本号:

注:以上内容为个人整理,参考网络内容,难免有不足之处,请指正。

最简单有效的 zabbix 快速学习法,30分钟快速入门

在公司搭建系统级别的监控,由于ELK对流量监控存在局限——现有的工具只记录了累计的流量,而无法计算每时每刻的流量。所以决定最后用zabbix来对网络做监控和报警,下面会从零开始记录zabbix搭建过程中的所有步骤,希望可以给你带来帮助。

安装必要的软件,禁用SELINUX,安装必备软件

安装

启动mysql,设置开机启动,修改mysql密码,注意下面的yourpassword要替换为你自己的密码

导入数据

注意:下面的yourpasswd请替换为你自己的数据库密码

修改时区

设置开机启动

通过http://hostname/zabbix访问zabbix的安装页面,填写安装信息,完成安装。完成安装后,初始登录账户密码为Admin/zabbix。

zabbix-server安装好了,下面需要“接入”其他机器,将它们纳入到zabbix-server的管理,下面是安装步骤

配置zabbix-agent

启动zabbix-agent

下面在zabbix-server页面上添加这个机器

按下图填写即可

接着绑定模板

最后点击Update,你就可以在Host目录中看到所有被监控的机器列表

注意:如果zabbix-agent需要被其他机器调用,例如通过zabbix_get获得监控信息,需要在防火墙设置“放开10050端口”

假设我们要监控机器192.168.8.5网卡em1上的出入口流量,我们可以先在zabbix服务器上用zabbix_get命令来测试一下,下面代码测试的是输入流量,注意这里的输出是一个累积的流量

监控网络流量的流程为:

1、创建模板

2、创建监控项

创建应用:Configuration->Templates->Create application

创建监控项:Configuration->Templates->network traffic on em1->Items->Create Item

上图是入口流量的监控项设置,出口流量监控项network traffic out em1可以一样设置,成功后你看到的是

3、创建Triggers

Triggers是触发报警的设置,同样我们点击Configuration->Templates->network traffic on em1->Triggers->Create trigger来创建Triggers

注意在设置Expression时,我们可以利用zabbix提供给我们的模板

于是,入口流量的触发值就设置好了,每秒流量超过1048576时就会触发报警,同理我们可以设置出口流量的触发值,成功后,我们看到的是

4、创建Graphs

接着,我们再来创建Graphs,Graphs可以以图形化的方式展示流量信息,点击Configuration->Templates->network traffic on em1->Graphs->Create graph,创建Graphs的最大好处是我们可以把这些Graphs组合起来形成Screens监控面板,例如下面这样

下面是创建Graphs的表单

5、绑定Template

至此,我们模板就创建完毕了,最后一步需要把主机和模板关联起来,点击Configuration->Hosts->Templates->Select创建关联,然后点击Add

此时,通过Monitoring->Latest data可以看到网卡上的最新数据,同时可以通过Monitoring->Graphs来查看图形化的数据

当系统出现异常时,我们需要立即发现,并通过邮件或App的方式通知给维护的同学,这样整个系统才会掌控在我们手中,Zabbix要做到这一点,需要配置以下3个选项(zabbix虽然很强大,但配置和UI有点繁琐,这是我不喜欢它的地方):

1、Media types

2、Events

3、User Media

Media types

Media types是当产生事件时,以什么方式进行通知,这里采用的是Script方式,这种方式的灵活性最大,通过这种方式,我们可以把报警发送到任何支持Webhook的App上,例如钉钉

Script这种方式的原理是:我们把可执行的脚本放在zabbix的指定目录下,当事件发生时,zabbix会自动调用该脚本,可以在/etc/zabbix/zabbix_server.conf中找到指定目录的路径

Media types设置如下,意思是在/usr/lib/zabbix/alertscripts下存在一个脚本dingding.py,当事件发生时,zabbix会调用该脚本,同时会传入该脚本3个参数,这3个参数分别是事件的接收人、事件的主题、事件的内容

dingding.py这个脚本如下,我们先实现一个简单的版本,也就是把这3个参数输出到日志中

设置脚本的权限

Events

事件是当某个条件发生时,zabbix所创建的报警对象。在zabbix中,事件发生时和事件恢复时都可以触发事件,下面我们来创建一个事件,

可以看到,这里的事件主题和事件消息都是系统默认生成的,其中包括时间产生时的必要信息,同时我把允许事件恢复时通知(Recovery message)打了勾,Conditions标签页的内容保持不变,然后我们再来修改Operations标签里的内容

这里的意思是:事件的持续时间是1个小时(3600s),每隔2分钟(120s)产生一个事件,一共产生10个事件,产生事件时,发送给Zabbix administrators用户组中的Admin用户,最后事件会使用我们刚刚创建的dingding这种Media type

User Meida

事件和Media type创建好后,下面还需要把它们和指定用户关联起来,点击Administration->Users->Media->Add,修改后,点击Update

通过以上步骤,我们已经把zabbix的监控和报警建立起来了,并实操创建了网卡的流量监控,现在我们把网络流量的阈值调到小,故意制造一个超出流量的事故,看一下报警是否生效,我们预期是发送10个报警,发送完毕后,我们再把阈值调到正常,看下是否会收到恢复消息。还记得之前写的那个脚本吗,它会把报警内容输出到日志文件中,现在我们检查下日志文件

很显然,结果符合我们的预期,以上便是入门zabbix的全部内容。

安装PhpStudy 2018后,原安装的Mysql进不去了怎么办

机房原来安装了mysql,教师经常反映输入密码后登录不了,闪退了,一直找不到原因,不得不重装。今天在机房安装phpStudy 2018之后,试了下mysql看下能不能登录,结果发现又game over了。

新安装了phpStudy 2018

尝试登录Mysql,输入密码后闪退

研究了半天,发现原来安装PhpStudy 2018后也会自带mysql,两个服务占用了相同的端口,则二者不能同时存在。安装PhpStudy 2018后会把mysql的服务停止,所以需要手动启动mysql服务。

说干就干,按win+r打开运行,在运行中输入services.msc,即可打开服务,向下拉找到mysql对应的服务,发现服务被停止了。

已停止mysql

右键鼠标该服务,选择启动这个服务。

启动服务

启动服务后,出现\”正在..\”就可以了。

已经启动服务了

见证奇迹的时刻到了,小心翼翼地打开mysql,输入原先设置的密码,按Enter键回车,终于熟悉的窗口出来了。

mysql正常了

回想以前,每次出问题就重装软件,费时费力。这次因为软件冲突去寻求解决问题,意外把以前的问题解决了,也是一件值得高兴的事情。

本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com

点赞 0
收藏 0

文章为作者独立观点不代本网立场,未经允许不得转载。