Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
社区首页 >专栏 >Windows安装nginx + php + mysql

Windows安装nginx + php + mysql

原创
作者头像
用户2141488
修改于 2021-11-03 02:29:20
修改于 2021-11-03 02:29:20
7.4K00
代码可运行
举报
文章被收录于专栏:用户2141488的专栏
运行总次数:0
代码可运行

前言

当前windows下web环境搭建有很多集成工具,比如常用的phpstudy,这里记录下不用集成工具,单独安装每个服务,如同linux环境安装一样;

环境

windows 10 php7.4 mysql8.0 nginx1.2

安装nginx

nginx for windows安装参考文档:https://nginx.org/en/docs/windows.html

官方下载地址:http://nginx.org/en/download.html

下载稳定版本

咱们这次下载的是1.20.1版本、将下载的zip文件解压到您指定的安装目录;

在nginx.exe所在目录进入cmd,这里提供一个进入dos快捷方式(直接在文件夹地址栏输入`cmd`并回车,会直接进入当前目录的dos窗口),开始执行命令;

注意:不要直接双击nginx.exe,不要直接双击nginx.exe,不要直接双击nginx.exe一定要在dos窗口启动,不要直接双击nginx.exe,这样会导致修改配置后重启、停止nginx无效,需要手动关闭任务管理器内的所有nginx进程,再启动才可以

命令启动nginx服务,启动时会一闪而过是正常的

正在加载命令启动nginx

查看任务进程是否存在,dos或打开任务管理器都行

命令行:

代码语言:javascript
代码运行次数:0
复制
C:\Users\Administrator\web\nginx-1.20.1>  tasklist /fi "imagename eq nginx.exe"
查看nginx进程
查看nginx进程

任务管理器

任务管理器查看nginx服务
任务管理器查看nginx服务

浏览器访问默认站点

默认站点
默认站点

如果nginx服务没正常运行起来可以看下日志文件记录的错误信息

查看错误日志
查看错误日志

常见的错误

(1)端口号被占用

(2)nginx文件夹路径含中文

其他错误就详细看 error.log 中的描述;

常用命令

启动:start nginx

快速停止:nginx -s stop

完整有序的关闭:nginx -s quit

重载配置文件并重启:nginx -s reload

检查配置文件是否正确:nginx -t -c ./conf/nginx.conf 后面是nginx.conf文件的路径,successful就说明正确了

检查配置文件
检查配置文件

至此,nginx已安装完成,大家可以打开nginx.conf按照自己需求进行配置,这里不做介绍;

参考文档:https://blog.csdn.net/qq_36850813/article/details/88552146


安装php

下载地址:https://windows.php.net/download/

下载php压缩包
下载php压缩包

下载好的zip文件解压到您指定的安装目录,进入php安装目录,然后复制一份php.ini-development 重命名为php.ini

创建php.ini配置文件
创建php.ini配置文件

进入php.exe所在目录进入dos,执行命令 php -v 查看php是否安装成功

丢失vcrruntime140.dll
丢失vcrruntime140.dll

报错:无法启动此程序,因为计算机中丢失vcrruntime140.dll。尝试重新安装改程序以解决此问题。

原来在Windows下运行php7需要Visual C++Redistributable 2015而之前的版本不需要那么高的,最新版的Apache可能也需要这个组件,这个组件是运行Visual Studio 2015所建立的C++应用的必要组件,安装一次即可解决环境问题,那么去微软官网下载安装程序,安装一遍即可。有64位版和32位版,根据计算机配置进行下载,

下面是下载链接:

64位:https://download.microsoft.com/download/9/3/F/93FCF1E7-E6A4-478B-96E7-D4B285925B00/vc_redist.x64.exe

32位:https://download.microsoft.com/download/9/3/F/93FCF1E7-E6A4-478B-96E7-D4B285925B00/vc_redist.x86.exe

上面的2个下载地址容易失效,大家按照这个路径找:https://www.microsoft.com/en-us/download/developer-tools.aspx ----> Visual C++ Redistributable for Visual Studio 2015

Visual C++ Redistributable for Visual Studio 2015
Visual C++ Redistributable for Visual Studio 2015

安装下载的vc_redist.x64.exe, 再执行 php -v看看问题是否解决

报错:PHP Warning: 'vcruntime140.dll' 14.0 is not compatible with this PHP build linked with 14.16 in Unknown on line 0

看报错意思是说“vcruntime140.dll”14.0PHP版本不兼容,很好解决,原因是PHP 7.4.x需要用于Visual Studio 2019的Microsoft Visual C ++ Redistributable,

可在此处下载:https://visualstudio.microsoft.com/downloads/

进去之后向下滚动 ----> 其他工具、框架和可再发行组件 ---->

Microsoft Visual C++ Redistributable for Visual Studio 2019→选择你对应的版本下载,我这里选择的是64位

Microsoft Visual C++ Redistributable for Visual Studio 2019
Microsoft Visual C++ Redistributable for Visual Studio 2019

下载安装后再试试php -v ,可以看到能正常的输出php版本号

php -v
php -v

命令行启动php

代码语言:javascript
代码运行次数:0
复制
C:\Users\Administrator>php-cgi.exe -b 127.0.0.1:9000 -c php.ini

注意当前dos窗口不要关闭,关闭php服务也停止运行了,另开一个dos窗口查看php服务是否运行tasklist | findstr "php",可以看到php已成功运行

tasklist | findstr "php"
tasklist | findstr "php"

接下来咱们将nginx和php结合起来,运行一个php文件看看是否成功,nginx.conf配置文件里将以下php配置前面的 # 去掉保存文件,并重启nginx

代码语言:javascript
代码运行次数:0
复制
        location ~ \.php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }

在/nginx-1.20.1/html/ 目录下新建一个test.php文件,写入:

代码语言:php
复制
<?php
phpinfo();

浏览器访问http://localhost/test.php,出现以下页面说明nginx + php 成功;

phpinfo
phpinfo

安装mysql

下载地址:https://downloads.mysql.com/archives/community/

mysql
mysql

安装包解压到自定义Mysql目录下

安装目录
安装目录

将MySQL中bin的安装路径,加到环境变量

添加环境变量
添加环境变量

使用管理员权限打开cmd命令窗口(鼠标右键点击“命令提示符”)

管理员权限打开dos
管理员权限打开dos

1.输入 mysqld --initialize-insecure --user=mysql 然后回车

2.再输入 mysqld -install 命令再回车

安装mysql
安装mysql

如果以上两个命令执行.如上图所示,说明mysql安装成功。

启动MySQL服务

启动MySQL服务,cmd命令窗口执行 net start mysql命令回车

启动mysql
启动mysql

初始化root用户没有密码,密码为空.输入 mysql -u root -p 命令直接双击回车即可

登陆mysql
登陆mysql

修改root密码

输入 ALTER user 'root'@'localhost' IDENTIFIED BY '123456' 命令直接回车

代码语言:javascript
代码运行次数:0
复制
mysql> ALTER user 'root'@'localhost' IDENTIFIED BY '123456';
修改密码
修改密码

查看数据库并退出

查看数据库
查看数据库

停止mysql服务:net stop mysql

代码语言:javascript
代码运行次数:0
复制
C:\Users\Administrator>net stop mysql
停止mysql服务
停止mysql服务

测试

注意:下面测试mysql需要用到php的扩展mysqli;这里需要在php配置文件 php.ini 里开启mysqli扩展

代码语言:javascript
代码运行次数:0
复制
// 改为自己的安装目录
extension_dir = "C:\Users\Administrator\web\php-7.4.25-nts-Win32-vc15-x64\ext"
// 将最前面的注释去掉
extension=mysqli

phpinfo页面出现以下页面代表mysqli开启成功

测试客户端请求是否能通过nginx访问php文件里的mysql;

在test.php写入以下代码:

代码语言:javascript
代码运行次数:0
复制
<?php

// 因下面有输出中文字符,所以这里设置下编码
header("content-type:text/html;charset=utf-8");

$dbhost = 'localhost';       // mysql服务器主机地址
$dbuser = 'root';            // mysql用户名
$dbpass = '123456';          // mysql用户名密码
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
    die('Could not connect: ' . mysqli_error());
}
echo '数据库连接成功!';

// 关闭连接
mysqli_close($conn);

浏览器访问页面输出以下字符代表数据库连接成功

技巧

当你启动php之后你会发现cmd小窗口不能自动关掉了,如果手动关掉php就挂掉了,接下来解决这个问题;首先你需要下载一个小文件RunHiddenConsole 然后随便指定一个目录,新建两个bat批处理文件,start_web.bat和stop_web.bat

RunHiddenConsole下载:http://www.inbeijing.org/wp-content/uploads/2015/06/RunHiddenConsole.zip

RunHiddenConsole.exe不用安装,将它和start_web.bat、stop_web.bat两个文件放到同一目录下就可以

start_web.bat

代码语言:javascript
代码运行次数:0
复制
@echo off

REM bat脚本以管理员权限执行(下面的mysql启动需要用到)
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
cd /d "%~dp0"

REM set PHP_FCGI_CHILDREN=5
REM 每个进程处理的最大请求数,或设置为 Windows 环境变量
set PHP_FCGI_MAX_REQUESTS=1000

echo Starting PHP FastCGI…
RunHiddenConsole C:/Users/Administrator/web/php-7.4.25-nts-Win32-vc15-x64/php-cgi.exe  -b 127.0.0.1:9000 -c C:/Users/Administrator/web/php-7.4.25-nts-Win32-vc15-x64/php.ini

echo Starting nginx…
RunHiddenConsole C:/Users/Administrator/web/nginx-1.20.1/nginx.exe -p  C:/Users/Administrator/web/nginx-1.20.1

echo Starting Mysql…
net start mysql

stop_web.bat

代码语言:javascript
代码运行次数:0
复制
@echo off

REM bat脚本以管理员权限执行(下面的mysql启动需要用到)
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
cd /d "%~dp0"

echo Stopping nginx...  
taskkill /F /IM nginx.exe > nul

echo Stopping PHP FastCGI...
taskkill /F /IM php-cgi.exe > nul

echo Stopping mysql
net stop mysql

exit

双击 start_web.bat 文件发现会自动弹出dos窗口,这是正常的,检查nginx、php和mysql服务是否正常运行

双击 stop_web.bat 文件3个服务停止运行

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Windows下Nginx+Mysql+Php(wnmp)环境搭建
前言  最近想在windows下使用nginx搭建web环境,本来想用套件(WNMP)一键安装,但后来放弃了,觉得还是自己动手,丰衣足食的好,而且套件的局限性太大。所以后来就各种搜索,看到前辈写关于wnmp环境的搭建,虽是感觉千篇一律,不过对我这个新手来说,还是有一定的参考价值,非常感谢!但在搭建的过程中,遇到了很多问题,所以决定自己整理一番,以供初学者参考。 Nginx是一个高性能的HTTP和反向代理服务器,同时还是IMAP/POP3/SMTP代理服务器,该程序由俄罗斯Rambler.ru 站点开发,Ng
joshua317
2018/04/09
2.6K0
Windows下Nginx+Mysql+Php(wnmp)环境搭建
Windows 下 Nginx + PHP5 的安装与配置
本文转载至:www.phpvim.net/web/php/installing-nginx-with-php5-on-windows.html
meteoric
2018/11/14
1.6K0
Windows2003 下配置 nginx+php 环境
最进在2003下搭建了一下nginx+php环境,现在把搭建过程写出来,与大家分享一下。
SuperDream
2019/02/28
1.9K0
Windows 安装 PHP7.3+Nginx1.14.2 环境
PHP 版本介绍 当下使用最多的 php 版本就是 5.6 以及 PHP7+,(如果您还在使用 5 的版本,那么我建议您升级到7以上,目前本篇使用的是 PHP7.3)
hedeqiang
2019/12/17
2K0
windows下RunHiddenConsole 启动 nginx与php(RunHiddenConsole
这篇文章主要介绍了RunHiddenConsole 启动 nginx与php的相关资料,希望通过本文能帮助到大家,让大家学会使用RunHiddenConsole,需要的朋友可以参考下
习惯说一说
2019/07/24
2K0
如何在Windows 2008服务器上部署IIS+PHP(FastCGI)和MySQL
不知道从什么时候开始的,部署IIS的WEB服务器居然可以兼容PHP了,这个还真不知道,孤陋寡闻了,我记得我在使用win服务器的时候,只能使用Apache去搭建web服务器,这几天需要在Windows服务器重新部署php环境,要求就是在IIS上运行php程序,结果找了几篇教程参考,目前经测试可用。就是复杂一丢丢,还有一个问题就是网上的教程问什么不是一篇就能搞定非得结合两篇文章才能搞定呢?可能是我百度的方式不对,好了这些都不重要,按照要求准备开始吧,文章部分内容转载自:系统运维网。
李洋博客
2023/10/13
5220
如何在Windows 2008服务器上部署IIS+PHP(FastCGI)和MySQL
PHP-CGI windows闪退!解决 & 网站部署 Bat
CGI是common gateway interface的缩写,大家都译作通用网关接口,但很不幸,我们无法见名知意。 他是一个协议、是一种规范。
收心
2022/01/11
1.4K0
PHP-CGI windows闪退!解决 & 网站部署 Bat
windows本地配置php(yii)+nginx+fastcgi
 (注意,这里配置了server_name为www.yii.com。需要同时配置host文件,把www.yii.com映射到127.0.0.1)
smy
2019/02/28
1.4K0
windows本地配置php(yii)+nginx+fastcgi
windows7配置Nginx+php+mysql的详细教程
这篇文章主要介绍了windows7配置Nginx+php+mysql的详细教程 的相关资料,需要的朋友可以参考下
习惯说一说
2019/07/04
1.1K0
windows7配置Nginx+php+mysql的详细教程
win7下搭建nginx+php的开发环境
本来在win7下用的是IIS做web服务器,但近来因项目需求的原因,需要在服务器遇到404错误的时候自动做转向(不是在客户端的跳转,而是在服务器收到客户端请求去某目录下读取文件返回时,如果发现目录或目录下文件不存在,自动转到另一个服务器去取),用IIS发现很难做到这点,于是决定搭建nginx的开发环境,通过配置实现这一点。
风柏杨4711
2021/03/15
5710
解决windows+nginx下 PHP-CGI 进程崩溃问题
本地开发系统使用的是windows系统下,配置的 nginx+php,在使用过程中总是出现崩溃现象,网上搜解决办法时,很多网友说是PHP-CGI 进程崩溃 造成的,当 php-cgi 处理php 达到500次,就自动关闭。也给出了解决办法。
Power
2023/02/28
1.9K0
使用 Guzzlehttp 请求超时,报错CurlFactory.php 558 Maximum execution time of 60 seconds 问题解决
windows环境,nginx服务器,laravel项目,使用guzzlehttp请求自己的接口,配置过了cacert.pem,超时,但是接口确实跑成功了。
躺平程序员老修
2023/09/05
5370
C#开发BIMFACE系列48 Nginx部署并加载离线数据包
在前一篇博客《C#开发BIMFACE系列47 IIS部署并加载离线数据包》中详细介绍了IIS部署并访问的完整步骤。本篇博客详细介绍在Nginx服务器中如何部署并访问离线数据包。
张传宁IT讲堂
2021/10/18
6990
Windows下wnmp快速部署
C:\Users\Administrator\Desktop\Wnmp\php5.6\php.ini 
明哥的运维笔记
2019/01/30
1K0
如何在 Windows 上搭建 PHP 网站
PHP(全称:PHP:Hypertext Preprocessor,即“PHP:超文本预处理器”)是一种开源的通用计算机脚本语言,尤其适用于网络开发并可嵌入HTML中使用。PHP的语法借鉴吸收C语言、Java和Perl等流行计算机语言的特点,易于程序员学习。PHP的主要目标是允许网络开发人员快速编写动态页面,但PHP也被用于其他很多领域。
Dust
2018/10/24
10.1K0
如何在 Windows 上搭建 PHP 网站
教你在 Windows 上如何搭建 PHP 网站
PHP(全称:PHP:Hypertext Preprocessor,即“PHP:超文本预处理器”)是一种开源的通用计算机脚本语言,尤其适用于网络开发并可嵌入HTML中使用。PHP的语法借鉴吸收C语言、Java和Perl等流行计算机语言的特点,易于程序员学习。PHP的主要目标是允许网络开发人员快速编写动态页面,但PHP也被用于其他很多领域。
聚优云惠
2019/10/18
2.6K0
新手windows安装nginx
windows安装nginx,下载地址:http://nginx.org/download/ 下载的时候,下载 .zip 后缀的压缩包,因为 .zip 的压缩包有nginx.exe 启动文件,其他没有。 下载好之后,放在自己本地磁盘某个目录下, cmd 命令框进入该目录,输入 start nginx 则可以启动 nginx服务,127.0.0.1:80 的网页打开显示,welcome to nginx,则启动成功。 如果默认本机80端口被占用 ,则打开之后会是被占用之后的网页,这时候去 本地磁盘 C:\Wi
蓓蕾心晴
2018/04/12
1.1K0
Windows下PHP环境全套教程:Windows安装Apache, PHP and MYSQL
1解压下载的apache压缩文件,随便到一个目录,打开,复制其中的apache24文件夹,到C盘根目录
HEROBOBO
2022/03/07
3K0
「PHP」不依赖集成环境,使用Nginx手动配置Thinkphp运行环境
在如今这个时代,互联网可谓是大行其道,由互联网带动的各行各业蓬勃发展,也正是由于及时抓住的互联网带来的发展机遇,成就了一大批科技巨头,他们利用互联网技术推出了一大批科技产品,这些科技产品在给人们带来方便、快捷的生活的同时,也在慢慢改变着世界。
老夫编程说
2020/07/08
1.6K0
「PHP」不依赖集成环境,使用Nginx手动配置Thinkphp运行环境
Windows 10 手动配置 PHP 开发环境
WinSW 是可执行的二进制文件,可用于包装和管理 Windows 服务的自定义进程。
用户6632915
2021/05/23
1.3K0
Windows 10 手动配置 PHP 开发环境
推荐阅读
相关推荐
Windows下Nginx+Mysql+Php(wnmp)环境搭建
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 大模型知识引擎×DeepSeek实践征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验