Windows 下手工搭建 LNMP 环境

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/kikajack/article/details/81004897

参考资料

如果想方便,可以直接使用集成的 LNMP 环境(例如 PHPStudy)。

下载 PHP

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

根据你的系统选择 32 位或 64 位下载。另外还有个线程安全和非线程安全的差异,对于 Nginx(使用 FastCGI,单线程工作),选择 Non Thread Safe 版本即可。具体差异可以 参考这里

  • None Thread Safe:非线程安全,在执行时不进行线程安全检查。
  • Thread Safe:线程安全,执行时会进行线程安全检查,以防止有新要求就启动新线程,耗尽系统资源。

我现在用的是 7.2,64位,非线程安全的版本。

下载 Nginx

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

一般下载你服务器上安装的版本。随便玩的话,下载最新的稳定版就行了。

下载 RunHiddenConsole

下载地址:http://redmine.lighttpd.net/attachments/660/RunHiddenConsole.zip

PHP 和 Nginx 是守护进程,启动后需要一直开着黑窗口,不太方便。RunHiddenConsole 工具可以在启动这两个程序化隐藏黑窗口。

目录结构

这里 RunHiddenConsole.exe 以及所有的 bat 脚本都放在 script 目录中。PHP 和 Nginx 直接解压即可,注意 PHP 的目录名太长了,这里简化了一下。

├─nginx-1.15.1
│  ├─conf
│  ├─contrib
│  │  ├─unicode2nginx
│  │  └─vim
│  │      ├─ftdetect
│  │      ├─ftplugin
│  │      ├─indent
│  │      └─syntax
│  ├─docs
│  ├─html
│  ├─logs
│  └─temp
│      ├─client_body_temp
│      ├─fastcgi_temp
│      ├─proxy_temp
│      ├─scgi_temp
│      └─uwsgi_temp
├─php72
│  ├─dev
│  ├─ext
│  ├─extras
│  │  └─ssl
│  ├─lib
│  │  └─enchant
│  └─sasl2
└─script

编写脚本

注意,根据上面的目录编写脚本。如果你用的是不同的版本的 PHP 和 Nginx,需要根据解压后的目录名修改脚本中对应的变量。

这里启动 PHP 时,实际上启动的是 PHP-FPM,通过 -b 127.0.0.1:9000 参数指定监听本机的 9000 端口。另外,也可以把 php.exe 的绝对路径添加到系统环境变量 PHTH 中,这样就可以在命令行中使用 PHP 命令了,例如 php -v 查看版本。

同时启动 PHP 和 Nginx

@ECHO OFF

ECHO Starting PHP FastCGI...
set php_home=..\php72
.\RunHiddenConsole.exe %php_home%\php-cgi.exe -b 127.0.0.1:9000 -c %php_home%/php.ini

ECHO Starting Nginx...
set nginx_home=..\nginx-1.15.1
.\RunHiddenConsole.exe %nginx_home%\nginx.exe -p %nginx_home%

同时关闭 PHP 和 Nginx

@ECHO OFF
echo Stopping nginx...  
taskkill /F /IM nginx.exe > nul
echo Stopping PHP FastCGI...
taskkill /F /IM php-cgi.exe > nul
exit

单独启动 PHP

@ECHO OFF
ECHO Starting PHP FastCGI...
set php_home=..\php72
.\RunHiddenConsole.exe %php_home%\php-cgi.exe -b 127.0.0.1:9000 -c %php_home%\php.ini

单独关闭 PHP

@ECHO OFF
ECHO Stopping PHP FastCGI...
taskkill /F /IM php-cgi.exe > nul
exit

单独启动 Nginx

@ECHO OFF
ECHO Starting Nginx...
set nginx_home=..\nginx-1.15.1
.\RunHiddenConsole.exe %nginx_home%\nginx.exe -p %nginx_home%

单独关闭 Nginx

@ECHO OFF
ECHO Stopping Nginx...
taskkill /F /IM nginx.exe > nul
exit

猜你喜欢

转载自blog.csdn.net/kikajack/article/details/81004897