要想让 PHP 能够被 web 服务器运行,需要搭建一个能够运行 PHP 脚本的环境。LNMP 是 Linux、Nginx、MySQL 和 PHP 的首字母缩写,是一个能够运行 PHP 的环境。LNMP 的部署非常简单,可以使用包管理器或手动安装。使用包管理器部署 LNMP 只需要一行命令,如在 Ubuntu 上使用 APT 管理器安装:
sudo apt-get install nginx mysql-server php-fpm
然而这样部署 LNMP 只能获得默认的配置文件,如果需要调整配置,需要手动编辑。例如,如果需要修改 Nginx 的配置,可以编辑 /etc/nginx/sites-available/default 文件。Nginx 的这个配置文件中可以配置下列信息:
server { listen 80 default_server; listen [::]:80 default_server; root /var/www/html; index index.html index.htm index.nginx-debian.html; server_name _; location / { try_files $uri $uri/ =404; } }
上面的示例中,server_name 配置为 "_",表示任何 IP 地址或域名都可以访问。如果在同一台服务器上工作,可以将 server_name 修改为 localhost 或 127.0.0.1。如果需要在默认路径 /var/www/html 之外部署网站,还需要修改 root 设置。
配置 Nginx 后,还需要配置 PHP-FPM。PHP-FPM 是 PHP FastCGI 进程管理器的缩写,功能是管理 PHP 进程、调度请求,并提供进程池等方便的功能。PHP-FPM 的配置文件在 /etc/php/{version}/fpm/pool.d/www.conf 中,可以编辑此文件来配置 PHP-FPM:
[www] user = www-data group = www-data listen = /run/php/php7.0-fpm.sock listen.owner = www-data listen.group = www-data pm = dynamic pm.max_children = 5 pm.start_servers = 2 pm.min_spare_servers = 1 pm.max_spare_servers = 3 request_terminate_timeout = 30
在上面的示例中,我们使用 Unix 域套接字来绑定 PHP-FPM,而不是使用 TCP 端口。关于 pm 相关的设置,可以根据实际情况来选择适当的值。
配置好 Nginx 和 PHP-FPM 后,就可以放置 PHP 文件到 /var/www/html 目录下并访问了。例如,如果有一个 hello.php 文件:
可以使用浏览器访问服务器的 IP 地址加文件名的方式访问该 PHP 文件。在浏览器中输入:http://服务器IP/hello.php,就能看到 "Hello, world!" 的输出了。
总之,LNMP 提供了一个能够部署 PHP 的环境,而且可以通过简单的配置文件来定制环境。部署 LNMP 可以一步步来配置,非常容易上手。希望读者在本文介绍的 LNMP 环境下愉快地开发 PHP 项目!