win10+nginx+php7+mysql

本文介绍如何在Windows环境下配置Nginx与PHP的集成环境,包括所需软件的下载、配置步骤及启动方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文参考了 http://www.cnblogs.com/huayangmeng/archive/2011/06/15/2081337.html

近几年来nginx的市场占有率逐渐上升,已经慢慢的逼近了apache,而IIS则首次跌破到10%以下。国内很多大厂的服务器都换成了nginx,依我看它未来应该会超过apache的。

Nginx是俄罗斯人Igor Sysoev编写的轻量级HTTP服务器,它是高性能和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器。

特点:

处理静态文件,索引文件以及自动索引;打开文件描述符缓冲.

无缓存的反向代理加速,简单的负载均衡和容错.

FastCGI,简单的负载均衡和容错.


1.首先需要的应用程序包。

PHP: VC14 x64 Non Thread Safe (2017-Apr-12 02:22:49) nginx下php是以FastCGI的方式运行,所以我们下载非线程安全也就是nts的php包

Nginx: nginx/Windows-1.12.0 (下载stable version)

RunHiddenconsole: RunHiddenconsole.zip (后面会用到)


2.安装与配置。

1)php安装与配置。

将下载好的php包文件解压到某一个目录下,例如我的是:C:\wnmp。把解压后的文件目录改为php7,将里面的php.ini-recommended文件复制一份并改名为php.ini,用文本编辑器将它打开。

将里面的

; On windows:
extension_dir = "./txt"

改为

; On windows:
extension_dir = "C:\wnmp\php7\ext"

将下面两个扩展前面的“;”去掉。(因为php7不支持mysql扩展了,所以这里只有mysqli和pdo扩展)

;extension=php_mysqli.dll
;extension=php_pdo_mysql.dll

最后让PHP支持nginx,将下面一行前面的“;”去掉。

;cgi.fix_pathinfo=1


2)nginx安装与配置。

先在C:/wnmp目录下新建一个www文件夹,作为服务器的根目录。

将下载好的nginx包文件解压到C:\wnmp目录下,重命名为nginx。打开nginx\conf下的nginx.conf文件来配置nginx。

location/ {
root html;
index index.html index.htm;
}

改为

location/ {
root C:/wnmp/www; #将站点的根目录定位到C:/wnmp/www
index index.html index.htm;
}

再将

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}

改为

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        location ~ \.php$ {
            root           C:/wnmp/www;
            fastcgi_pass   localhost:9000;
            fastcgi_index  index.php;
            
            # 这里$document_root指的是上面定义好的nginx根目录:C:/wnmp/www
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }
保存好配置即可。


3.启动。

手动启动php和nginx来跑一下。
1)命令行php目录下键入 php-cgi.exe -b 127.0.0.1:9000 -c C:/wnmp/php7/php.ini(输入以后没有反应,但是不能关掉命令行)
2)命令行nginx目录下 start nginx
3)在www目录下新建一个phpinfo.php文件
<?php 
    phpinfo();
 ?>
4)浏览器中输入localhost/phpinfo.php,出现下面内容则说明php在nginx中运行成功了。



5)但是命令行手动启动php和nginx太麻烦了,写两个脚本“start_nginx.bat”和“stop_nginx.bat”,都放到nginx的根目录下去,再将上面下载的RunHiddenConsole.zip解压后的RunHiddenConsole.exe文件也放到该目录下。就可以双击start_nginx.bat和stop_nginx.bat文件来启动和关闭php和nginx啦。
start_nginx.bat内容如下

@echo off
REM Windows 下无效
REM set PHP_FCGI_CHILDREN=5

REM 每个进程处理的最大请求数,或设置为 Windows 环境变量
set PHP_FCGI_MAX_REQUESTS=1000
 
echo Starting PHP FastCGI...
RunHiddenConsole C:/wnmp/php7/php-cgi.exe -b 127.0.0.1:9000 -c C:/wnmp/php7/php.ini
 
echo Starting nginx...
RunHiddenConsole C:/wnmp/nginx/nginx.exe -p C:/wnmp/nginx
stop_ngin.bat内容如下
@echo off
echo Stopping nginx...  
taskkill /F /IM nginx.exe > nul
echo Stopping PHP FastCGI...
taskkill /F /IM php-cgi.exe > nul
exit

弄好后的文件放置如下:






### 环境准备 在Windows 10上使用VirtualBox配置包含Linux、NginxMySQLPHP的开发环境,首先需要确保VirtualBox和相关扩展包已经安装完毕。接着,选择一个合适的Linux发行版,如Ubuntu或CentOS作为虚拟机的操作系统。 ### 创建虚拟机 打开VirtualBox,点击“新建”按钮创建一个新的虚拟机。在创建过程中,选择之前下载好的Linux ISO文件作为启动盘。分配足够的内存和硬盘空间以确保开发环境的稳定运行。 ### 安装Linux系统 将虚拟机启动后,按照提示完成Linux系统的安装过程。在此过程中,可以选择最小化安装,并确保安装必要的开发工具和库。 ### 安装Nginx 安装完Linux系统后,首先安装Nginx。对于Ubuntu系统,可以通过以下命令安装: ```bash sudo apt update sudo apt install nginx ``` 对于CentOS系统,则可以使用以下命令: ```bash sudo yum install epel-release sudo yum install nginx ``` 安装完成后,启动Nginx服务并设置开机自启: ```bash sudo systemctl start nginx sudo systemctl enable nginx ``` ### 安装MySQL 接下来安装MySQL数据库。对于Ubuntu系统,可以使用以下命令: ```bash sudo apt install mysql-server ``` 对于CentOS系统,使用以下命令: ```bash sudo yum install mysql-server ``` 安装完成后,启动MySQL服务并设置开机自启: ```bash sudo systemctl start mysqld sudo systemctl enable mysqld ``` 初始化MySQL的安全设置: ```bash sudo mysql_secure_installation ``` ### 安装PHP 安装PHP及其常用扩展。对于Ubuntu系统,可以使用以下命令: ```bash sudo apt install php php-fpm php-mysql ``` 对于CentOS系统,使用以下命令: ```bash sudo yum install php php-fpm php-mysqlnd ``` 安装完成后,启动PHP-FPM服务并设置开机自启: ```bash sudo systemctl start php-fpm sudo systemctl enable php-fpm ``` ### 配置Nginx以支持PHP 编辑Nginx的配置文件,通常位于`/etc/nginx/sites-available/default`(Ubuntu)或`/etc/nginx/conf.d/default.conf`(CentOS),添加或修改以下内容: ```nginx server { listen 80; server_name your_domain; root /var/www/html; index index.php index.html index.htm; location / { try_files $uri $uri/ =404; } error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.3-fpm.sock; # 根据实际安装的PHP版本调整 } location ~ /\.ht { deny all; } } ``` 保存配置文件后,重启Nginx服务以使更改生效: ```bash sudo systemctl restart nginx ``` ### 测试环境 创建一个简单的PHP测试文件,例如`/var/www/html/info.php`,内容如下: ```php <?php phpinfo(); ?> ``` 通过浏览器访问`http://your_domain/info.php`,如果能看到PHP的信息页面,则表示环境配置成功。 ###
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值