15158846557 在线咨询 在线咨询
15158846557 在线咨询
所在位置: 首页 > 营销资讯 > 网站运营 > 一步步教你手动搭建Web服务器环境

一步步教你手动搭建Web服务器环境

时间:2023-05-31 10:33:02 | 来源:网站运营

时间:2023-05-31 10:33:02 来源:网站运营

一步步教你手动搭建Web服务器环境:
作者:掌控安全-罗网
使用PHPStudy等集成包搭建是能省不少事,但是也少看见了很多东西,这样就不能自己安排,不喜欢这种感觉。

我这里是在VM虚拟机的Win7下进行的,其它Windows系统大同小异,其实在Windows Server之类的系统上搭建应该更好。



本文采用Apache+PHP+MySQL进行配置,版本如下:

Apache 2.4.43

PHP 7.4.8 Thread Safe

MySQL 8.0.21

配置期间若出现“缺少VC环境”或“缺少.NET Framework”,自行百度,微软官网安装

一.Apache配置

首先下载安装包https://www.apachelounge.com/download/,是一个压缩包。

然后创建一个文件夹放置Web服务环境资源,我这里是D:/Server

随后解压到Server文件夹下,这里解压后文件夹的名字叫做Apache24

附一张全部搭建完后的Server文件夹的图,其中的PHP,MySQL,www文件夹会在后面创建。




开始配置

用记事本打开D:/Server/Apache24/conf/httpd.conf,这是Apache的配置文件。

修改以下条目,可按Ctrl+F查找

ServerRoot(Apache的根目录):d:/Server/Apache24,这里更改SRVROOT变量即可

Define SRVROOT "c:/Apache24"ServerRoot"${SRVROOT}"改为Define SRVROOT "d:/Server/Apache24"ServerRoot"${SRVROOT}"ServerName(主机名):localhost:80,去掉#才能让设置生效

# If your host doesn't have a registered DNS name, enter its IP address here.##ServerName www.example.com:80改为# If your host doesn't have a registered DNS name, enter its IP address here.#ServerName localhost:80DocumentRoot(Apache默认的网页目录):d:/Server/www

原先默认的网页目录是d:/Server/Apache24/htdocs,

我这里更改了,新建了d:/Server/www文件夹以存放网页,所以要更改DocumentRoot

把d:/Server/Apache24/htdocs下的index.html复制到d:/Server/www下,以备后续测试

# DocumentRoot: The directory out of which you will serve your# documents. By default, all requests are taken from this directory, but# symbolic links and aliases may be used to point to other locations.#DocumentRoot"${SRVROOT}/htdocs"<Directory"${SRVROOT}/htdocs">改为# DocumentRoot: The directory out of which you will serve your# documents. By default, all requests are taken from this directory, but# symbolic links and aliases may be used to point to other locations.#DocumentRoot"d:/Server/www"<Directory"d:/Server/www">DirectoryIndex(Apache默认的入口网页):这里没做更改,就用的默认的index.html

没做更改<IfModule dir_module>DirectoryIndex index.html</IfModule>如果要更改,可以改为<IfModule dir_module>DirectoryIndex index.php index.html index.htm</IfModule>index.php index.html index.htm三个文件是有优先关系的,例:若同时有index.php index.html,则默认访问index.php若只有index.html,则默认访问index.htmlScriptAlias(没研究过,反正是个路径):这里没做更改

之前设置ServerRoot的时候,更改过SRVROOT变量为d:/Server/Apache24,而cgi-bin是Apache24下的一个文件夹,这里只要符合cgi-bin的路径即可。

我已经符合,故不修改。

没做更改ScriptAlias/cgi-bin/"${SRVROOT}/cgi-bin/"往下几行还有这个,也没改<Directory"${SRVROOT}/cgi-bin">AllowOverrideNoneOptionsNoneRequire all granted</Directory>
接下来双击运行D:/Server/Apache24/bin/httpd.exe,出现了一个没有任何输出的黑窗体,且不会闪退。

这其实意味着打开了Apache服务器,不要关闭黑窗体,下面测试:

在虚拟机中打开Google Chrome,地址栏输入localhost,可以访问到如下页面




在物理机的浏览器中输入虚拟机IP地址也可访问到相同页面(cmd里ipconfig命令可查询IP)

若是没在虚拟机里安装,全部安在物理机也一样,打开浏览器输入localhost,可以访问到上述页面

我这里虚拟机网络连接NAT模式下,在物理机中通过Chrome,firefox,IE,360均可正常访问网页,唯独edge不行,不知道为什么。

假装没发生过,反正Chrome能访问就行了。
出现It works!说明应该没什么大问题了,关闭黑窗体,接下来把httpd.exe装到Windows服务里。

打开cmd,进入httpd.exe所在目录,输入httpd -k install安装服务。




若想删除服务,可以以管理员身份运行cmd用sc delete Apache2.4命令删除
安装成功后,在桌面的“计算机”上右键—管理—服务和应用程序—服务,可以查看所有服务,其中就有Apache2.4服务。

在该服务上右键-属性,有一个启动类型选项,默认是自动(开机自启),由于只是学习使用,所以我改成了手动,以后可以在该服务上右键-启动来自行控制它。

方便起见,我将D:/Server/Apache24/bin下的ApacheMonitor添加到了开始菜单中,这是一个操控Apache服务的图形化界面,

打开后在电脑右下角的小图标里找到它,右键-open,界面如下:




二.PHP配置

下载安装包https://windows.php.net/download#php-7.4

下载Thread Safe版本,否则后期可能缺少php7apache2_4.dll

将zip压缩包解压为D:/Server/PHP

在D:/Server/PHP下有这样两个文件:php.ini-development和php.ini-production

两个都是PHP的配置文件,https://www.php.net/manual/zh/migration53.ini.php

php.ini-development包含在开发环境中推荐使用的设置

php.ini-production包含在生产环境中推荐使用的设置

这里使用php.ini-production,复制更名为php.ini放在同一目录下,以记事本打开

开始配置

extension_dir(PHP扩展包目录):

;On windows:;extension_dir ="ext"改为;On windows:extension_dir ="D:/Server/PHP/ext"date.timezone(设置时区):

;date.timezone =改为date.timezone = PRCdefault_charset(设置编码):没有更改,就用默认的UTF-8

default_charset ="UTF-8"开启扩展:网上搜了几个常用的扩展,去掉分号开启,功能可查官方文档

php_curl.dll https://www.php.net/manual/zh/book.curl.php
php_gd2.dll https://www.php.net/manual/zh/book.image.php
php_fileinfo.dll https://www.php.net/manual/zh/book.fileinfo.php
php_mbstring.dll https://www.php.net/manual/zh/book.mbstring.php
php_pdo_mysql.dll https://www.php.net/manual/zh/ref.pdo-mysql.php
php_mysqli.dll https://www.php.net/manual/zh/book.mysqli.php

;extension=curl;extension=gd2;extension=fileinfo;extension=mbstring;extension=pdo_mysql;extension=mysqli改为extension=curlextension=gd2extension=fileinfoextension=mbstringextension=pdo_mysqlextension=mysqli为Apache服务添加PHP支持 :

在此前的httpd.conf文件的最下面添加如下代码:

# php7 supportLoadModule php7_module "D:/Server/PHP/php7apache2_4.dll"AddType application/x-httpd-php .php .html .htm# configure the path to php.iniPHPIniDir"D:/Server/PHP"



在D:/Server/www下新建index.txt文件,输入如下代码

<?php phpinfo();?>


更改扩展名为.php,重启先前的Apache服务

用浏览器访问localhost/index.php,可得PHP详细信息页面




至此就基本没有大问题了


下面配置PHP环境变量,这是为了方便在cmd里直接使用PHP,也可以不配置

计算机右键-属性-高级系统设置-环境变量,新建系统变量




再打开Path系统变量,在后面加上%PHP_HOME%




随后在cmd中测试,输入php -version,会显示版本信息,说明配置成功




三.MySQL配置




直接下载的离线安装包https://dev.mysql.com/downloads/installer/,跟着下一步下一步,感觉没啥特殊的配置

新建MySQL文件夹,D:/Server/MySQL

选择custom自定义安装,根据需要选择相应组件,我选择装了

MySQL Server 8.0;MySQL Shell 8.0;MySQL Notifier 1.1;MySQL Workbench 8.0 CE;

Connector ODBC 8.0;Connector C++ 8.0;Connector J 8.0;Connector NET 8.0;

MySQL Documentation 8.0;

后面就一直“下一步”,除了让你设置密码的时候要设置一下

MySQL卸载可能有点麻烦,这里不赘述,最好一遍成功,下面是遇到的一些坑:

正常安装完后,在计算机右键-管理-服务中可以看到名为MySQL80的服务,可以选择设为手动启动

另外,MySQLNotifier就是一个跟ApacheMonitor差不多的东西,也可以通过它开启服务


下面测试:

在D:/Server/www下新建testmysql.txt文件,写上如下代码:

<?php $conn=mysqli_connect("localhost","root","root密码");if($conn) echo "连接success";else echo "连接fail";?>


将txt文件另存为UTF-8编码的文件(要与PHP设置的默认编码一致,否则中文会乱码)




更改扩展名为.php,启动Apache服务和MySQL服务,浏览器localhost/testmysql.php访问可得




测试成功,至此环境就搭建完了


下面配置MySQL环境变量,这是为了方便在cmd里直接使用MySQL,也可以不配置

新建系统变量MYSQL_HOME




在Path中添加%MYSQL_HOME%/MySQL Server 8.0/bin




开启MySQL服务,在cmd中输入mysql -h localhost -u root -p,输入密码,若能成功登录,说明配置成功



关键词:服务,环境

74
73
25
news

版权所有© 亿企邦 1997-2025 保留一切法律许可权利。

为了最佳展示效果,本站不支持IE9及以下版本的浏览器,建议您使用谷歌Chrome浏览器。 点击下载Chrome浏览器
关闭