Windows 下手工搭建 LNMP 环境
如果想方便,可以直接使用集成的 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
Windows 下手工搭建 LNMP 环境的更多相关文章
- win7/win8下手工搭建WAMP环境
win7/win8下手工搭建WAMP环境. 最近学习wamp,看了好多教程,出来好多问题,终于成功搞定,这里集合了一下最好的教程,写了一些自己的经验,希望大家有用 这里不能上传图片,我就写了个带pdf ...
- Mac下docker搭建lnmp环境 + redis + elasticsearch
之前在windows下一直使用vagrant做开发, 团队里面也是各种开发环境,几个人也没有统一环境,各种上线都是人肉,偶尔还会有因为开发.测试.生产环境由于软件版本或者配置不一致产生的问题, 今年准 ...
- Centos 7 下yum搭建lnmp环境(yum安装方式)
我们都知道linux下安装软件主要有三种方式: 1.源码编译安装,即下载软件源代码,利用gcc g++ make 等编译工具进行编译安装: 此方式的优点:可以指定软件版本,可选择性好:编译时可以手动指 ...
- 比特币学习笔记(一)---在windows下编译搭建比特币环境
最近打算研究下比特币源码,却发现这套源码正常情况下得在linux下编译运行,而我的机器是windows的. 怎么办呢? 起初打算用mingw和cygwin搞搞看,试了许久后发现行不通,必须转到linu ...
- Ubuntu 18.04.1 下快速搭建 LNMP环境
1.Nginx的安装 Nginx安装是属于最简单的,只需要在命令行执行 sudo apt-get install nginx 就能自动安装 Nginx,其中过程中需要 选择 Y/n 的选择Y就行了,当 ...
- CentOS6下yum搭建LNMP环境
1.关闭防火墙[root@CentOS ~]# chkconfig iptables off 2.关闭selinuxvi /etc/sysconfig/selinux //将SELINUX=enfor ...
- [转]MonkeyRunner在Windows下的Eclipse开发环境搭建步骤(兼解决网上Jython配置出错的问题)
MonkeyRunner在Windows下的Eclipse开发环境搭建步骤(兼解决网上Jython配置出错的问题) 网上有一篇shangdong_chu网友写的文章介绍如何在Eclipse上配置M ...
- 转:Windows下的PHP开发环境搭建——PHP线程安全与非线程安全、Apache版本选择,及详解五种运行模式。
原文来自于:http://www.ituring.com.cn/article/128439 Windows下的PHP开发环境搭建——PHP线程安全与非线程安全.Apache版本选择,及详解五种运行模 ...
- windows下php+apache+mysql环境搭建
在Windows 7下进行PHP环境搭建,首先需要下载PHP代码包和Apache与Mysql的安装软件包. PHP版本:php-5.3.2-Win32-VC6-x86,VC9是专门为IIS定制的,VC ...
随机推荐
- PPT制作,数据图等画图
1. mathcad 画图简单不错 2.三维图 matlab不错 3.PPT 学术ppt,美观明了,思路清晰,数据可视化 学术PPT: http://mp.weixin.qq.com/s/TPYW ...
- JAVA总结--dubbo与zookeeper
读累了就看看实操https://www.cnblogs.com/huasky/p/10214642.html 一.SOA 概念:SOA:Service-Oriented Architecture,面向 ...
- Maven-maven插件(1)添加主类信息到MANIFEST.MF
1.以前面的HelloWorld项目为例,在pom.xml中添加如下代码,指定插件 <build> <plugins> <plugin> <groupId&g ...
- 剑指Offer编程题(Java实现)——替换空格
题目描述 请实现一个函数,将一个字符串中的每个空格替换成“%20”.例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. 解题思路1 在字符串尾部填充任 ...
- HNUSTOJ-1696 简单验证码识别(模拟)
1696: 简单验证码识别 时间限制: 2 Sec 内存限制: 128 MB 提交: 148 解决: 44 [提交][状态][讨论版] 题目描述 验证码是Web系统中一种防止暴力破解的重要手段.其 ...
- BUUCTF--rsa
测试文件:https://buuoj.cn/files/ed10ec009d5aab0050022aee131a7293/41c4e672-98c5-43e5-adf4-49d75db307e4.zi ...
- sort对数组排序
描述 Array的sort方法用于对原数组进行排序,不会产生新的数组.排序默认的规则是按照数组元素的字符编码进行排序.如果要按照自己的意愿对数组进行升序或者降序排序,就需要对sort传入一个比较函数 ...
- css炫酷动画收藏
1.按钮.hover.input动画(cssfx) https://cssfx.dev/ 2.svg 矢量定制icon(ikonate) https://www.ikonate.com/#conten ...
- git恢复彻底删除的分支
由于一时疏忽,错误的删除了未发布正式的开发分支,经查资料已恢复分支,特此记录 查看Git日志 git reflog |grep 'filter_or_gwf' 以下日志为已删除分支 filter_or ...
- 2019-8-14-win10-使用-SMB-v1
title author date CreateTime categories win10 使用 SMB v1 lindexi 2019-08-14 08:55:55 +0800 2018-2-13 ...