【Ubuntu - php环境配置】
本文记录在ubuntu环境下,分别安装php 和 php-fpm,以及如何在nginx中使用。
安装php
通过以下步骤来完成:
-
打开终端。
-
更新系统软件包列表,以确保安装的软件包是最新的:
sudo apt update
-
安装PHP及其相关组件。如果你只需要基本的PHP功能,可以安装
php
包,但如果你需要与 MySQL 或 PostgreSQL 等数据库进行交互,你可能还需要安装其他的 PHP 扩展。常用的扩展包括php-mysql
(用于 MySQL)、php-pgsql
(用于 PostgreSQL)等。你可以根据自己的需求选择性安装这些扩展。
如果需要其他的扩展,可以使用类似的命令安装,例如:sudo apt install php
sudo apt install php-mysql sudo apt install php-pgsql
-
安装完成后,你可以通过以下命令验证PHP是否已成功安装:
这将显示已安装的PHP版本信息。php -v
安装完成后,你就可以开始在Ubuntu上使用PHP了。
安装php-fpm
如果在安装PHP时没有安装PHP-FPM,你可以按照以下步骤在Ubuntu上安装PHP-FPM:
-
打开终端。
-
确保你的系统软件包列表是最新的:
sudo apt update
-
安装PHP-FPM:
sudo apt install php-fpm
-
安装完成后,你可以使用以下命令来检查PHP-FPM是否已成功安装:
sudo systemctl php-fpm status
如果PHP-FPM正在运行,命令将显示服务的状态信息。如果没有运行,它将会显示服务停止的信息。
-
如果需要启动、停止或重启PHP-FPM服务,可以使用以下命令:
sudo systemctl php-fpm start # 启动服务 sudo systemctl php-fpm stop # 停止服务 sudo systemctl php-fpm restart # 重启服务
安装完成后,PHP-FPM应该就会在你的系统上正常运行了。
安装后,php-fpm在哪里
安装完PHP后,PHP-FPM(PHP FastCGI Process Manager)通常会被安装在系统中,并作为一个系统服务运行。在Ubuntu上,PHP-FPM的配置文件和启动脚本通常位于 /etc/php/{PHP_VERSION}/fpm/
目录中,其中 {PHP_VERSION}
是你安装的PHP版本号。
你可以在终端中使用以下命令来检查PHP-FPM是否正在运行:
sudo service php{PHP_VERSION}-fpm status
替换 {PHP_VERSION}
为你安装的PHP的实际版本号。
如果PHP-FPM正在运行,命令将显示服务的状态信息,包括运行的进程数量等。如果没有运行,它将会显示服务停止的信息。
要启动或停止PHP-FPM服务,可以使用以下命令:
sudo service php{PHP_VERSION}-fpm start # 启动服务
sudo service php{PHP_VERSION}-fpm stop # 停止服务
sudo service php{PHP_VERSION}-fpm restart # 重启服务
记得将 {PHP_VERSION}
替换为你安装的PHP的实际版本号。
如何在nginx中使用
nginx.conf配置如下
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 8000;
server_name localhost;
root ${your_root_path};
index index.php index.html index.htm;
access_log /var/nginx/log/access.log;
error_log /var/nginx/log/error.log;
location ~* \.(css|js|jpg|jpeg|png|gif|ico|svg)$ {
expires max;
log_not_found off;
}
location ~ \.php$ {
# 设置fastcgi的请求地址
# 方式1:使用unix socket
# fastcgi_pass unix:/tmp/php-cgi.sock;
# 方式2: 使用端口,需要在php-fpm的配置文件中设置,
# 设置方式为下面问题`如何查看php-fpm监听的端口号` 中listen部分
fastcgi_pass 127.0.0.1:9000;
# 设置脚本文件请求的路径
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_FILENAME scripts$fastcgi_script_name;
$fastcgi_script_name
# 引入fastcgi的配置文件
include fastcgi_params;
}
}
}
问题记录
提示Failed to start php-fpm.service: Unit php-fpm.service not found.
如果在 Ubuntu 上安装 PHP-FPM 后,无法找到 PHP-FPM 服务,可能是由于安装包没有正确配置服务的原因。在这种情况下,你可以手动创建一个服务单元文件来启动 PHP-FPM。以下是一种方法:
-
创建 PHP-FPM 服务单元文件:
在/etc/systemd/system/
目录中创建一个新的服务单元文件,命名为php-fpm.service
。可以使用sudo
权限执行以下命令来创建文件并编辑它:sudo nano /etc/systemd/system/php-fpm.service
在文件中输入以下内容:
[Unit] Description=The PHP FastCGI Process Manager After=network.target [Service] Type=simple ExecStart=/usr/sbin/php-fpm7.4 --nodaemonize --fpm-config /etc/php/7.4/fpm/php-fpm.conf ExecReload=/bin/kill -USR2 $MAINPID PrivateTmp=true [Install] WantedBy=multi-user.target
注意:这个示例假设你安装的是 PHP 7.4 版本。如果你安装的是其他版本,例如 PHP 8.0,则需要相应地更改
php-fpm7.4
和/etc/php/7.4/fpm/php-fpm.conf
的路径。 -
保存并退出:
在 Nano 编辑器中,按下Ctrl + O
保存文件,然后按下Enter
确认保存。然后按下Ctrl + X
退出编辑器。 -
重新加载 systemd 管理的服务:
执行以下命令以重新加载 systemd 管理的服务单元文件:sudo systemctl daemon-reload
-
启动 PHP-FPM 服务:
现在可以启动 PHP-FPM 服务了:sudo systemctl start php-fpm
-
检查服务状态:
检查 PHP-FPM 服务是否已成功启动:sudo systemctl status php-fpm
这样,你就手动创建了一个 PHP-FPM 服务单元文件,并启动了 PHP-FPM 服务。
如何查看php-fpm监听的端口号
要查看 PHP-FPM 监听的端口号,你需要查看 PHP-FPM 的配置文件。默认情况下,PHP-FPM 的配置文件通常位于 /etc/php/{PHP_VERSION}/fpm/pool.d/www.conf
,其中 {PHP_VERSION}
是你安装的 PHP 的版本号。
你可以通过以下步骤来查看 PHP-FPM 监听的端口号:
-
打开终端。
-
使用文本编辑器(如 nano 或 vim)打开 PHP-FPM 的配置文件。例如:
sudo nano /etc/php/7.4/fpm/pool.d/www.conf
请确保将路径替换为你实际的 PHP 版本号。
-
在打开的配置文件中,查找
listen
指令。这是 PHP-FPM 监听的地址和端口。通常,它看起来像这样:listen = 127.0.0.1:9000
这表示 PHP-FPM 在本地监听端口 9000。端口号可能会因为个人配置而有所不同。
-
记下
listen
指令中的端口号。这就是 PHP-FPM 监听的端口。
一旦你找到了 PHP-FPM 监听的端口号,你就可以使用该端口号配置 Web 服务器或其他服务来与 PHP-FPM 进行通信。