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及运行库
- 网址: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)
- 将下载的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的绝对安装目录的修改
- 用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的支持
- 用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>
- 用命令 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
文章为作者独立观点不代本网立场,未经允许不得转载。