首页主机资讯Ubuntu PHP如何配置服务器

Ubuntu PHP如何配置服务器

时间2025-10-23 15:13:03发布访客分类主机资讯浏览927
导读:Ubuntu下配置PHP服务器(以Apache/Nginx为例) 1. 准备工作:更新系统 在开始配置前,确保系统包列表和已安装包为最新版本,避免依赖冲突: sudo apt update && sudo apt upgra...

Ubuntu下配置PHP服务器(以Apache/Nginx为例)

1. 准备工作:更新系统

在开始配置前,确保系统包列表和已安装包为最新版本,避免依赖冲突:

sudo apt update &
    &
 sudo apt upgrade -y

2. 安装Web服务器(Apache/Nginx)

根据需求选择Web服务器,以下分别介绍Apache和Nginx的安装步骤:

2.1 安装Apache

Apache是Ubuntu默认Web服务器,安装命令如下:

sudo apt install apache2 -y

安装完成后,启动Apache并设置开机自启:

sudo systemctl start apache2
sudo systemctl enable apache2

验证Apache是否运行:在浏览器访问http://your_server_ip,若看到Apache默认页面则说明成功。

2.2 安装Nginx

Nginx是轻量级高性能Web服务器,适合高并发场景,安装命令如下:

sudo apt install nginx -y

启动Nginx并设置开机自启:

sudo systemctl start nginx
sudo systemctl enable nginx

验证Nginx是否运行:在浏览器访问http://your_server_ip,若看到Nginx欢迎页面则说明成功。

3. 安装PHP及常用扩展

PHP是服务器端脚本语言,需安装PHP核心包及常用扩展(如MySQL数据库支持、GD图像处理、MB字符串处理等):

# Apache环境下(自动安装libapache2-mod-php模块,用于Apache解析PHP)
sudo apt install php libapache2-mod-php php-mysql php-gd php-mbstring php-curl php-xml -y

# Nginx环境下(需安装PHP-FPM,用于FastCGI进程管理)
sudo apt install php-fpm php-mysql php-gd php-mbstring php-curl php-xml -y

安装完成后,可通过以下命令验证PHP是否安装成功:

php -v

4. 配置PHP(可选但推荐)

4.1 修改PHP.ini文件

PHP.ini是PHP的全局配置文件,可根据需求调整参数(如内存限制、上传文件大小、时区等)。

  • Apache环境下,php.ini路径通常为:/etc/php/{ version} /apache2/php.ini(如/etc/php/8.3/apache2/php.ini
  • Nginx环境下,php.ini路径通常为:/etc/php/{ version} /fpm/php.ini(如/etc/php/8.3/fpm/php.ini

常用修改项:

;
     设置时区(根据实际情况调整)
date.timezone = Asia/Shanghai

;
     增加内存限制(单位:MB)
memory_limit = 256M

;
 增加上传文件大小限制(单位:MB)
upload_max_filesize = 100M
post_max_size = 100M

修改完成后,保存文件并重启Web服务器(见步骤5)。

4.2 配置PHP-FPM(仅Nginx需要)

PHP-FPM(FastCGI Process Manager)用于管理PHP进程,提高性能。安装PHP-FPM后,需修改其进程池配置:

sudo nano /etc/php/{
version}
    /fpm/pool.d/www.conf

关键配置项说明:

;
 监听方式(Unix socket性能优于TCP端口)
listen = /run/php/php{
version}
    -fpm.sock

;
     运行用户/组(建议使用www-data,与Web服务器一致)
user = www-data
group = www-data

;
     进程管理方式(dynamic动态调整进程数)
pm = dynamic
pm.max_children = 15       ;
     最大子进程数(根据服务器内存调整)
pm.start_servers = 5       ;
     启动时的进程数
pm.min_spare_servers = 5   ;
     最小空闲进程数
pm.max_spare_servers = 10  ;
     最大空闲进程数
pm.max_requests = 500      ;
 每个子进程处理的最大请求数(避免内存泄漏)

修改完成后,重启PHP-FPM服务:

sudo systemctl restart php{
version}
-fpm

5. 配置Web服务器支持PHP

5.1 Apache配置

Apache需启用PHP模块并配置解析规则:

# 启用PHP模块(根据PHP版本调整,如php7.4、php8.3)
sudo a2enmod php{
version}
    

# 配置Apache虚拟主机(编辑默认站点配置文件)
sudo nano /etc/apache2/sites-available/000-default.conf

< VirtualHost *:80> 块中添加以下内容,确保Apache能解析PHP文件:

<
    FilesMatch \.php$>
    
    SetHandler application/x-httpd-php
<
    /FilesMatch>
    
<
    Directory /var/www/html>
    
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
<
    /Directory>

保存后,重启Apache:

sudo systemctl restart apache2

5.2 Nginx配置

Nginx需配置FastCGI转发到PHP-FPM:

sudo nano /etc/nginx/sites-available/default

server块中添加以下location规则,处理.php文件:

location ~ \.php$ {
    
    include snippets/fastcgi-php.conf;
  # 包含FastCGI配置
    fastcgi_pass unix:/run/php/php{
version}
    -fpm.sock;
      # 与PHP-FPM监听地址一致
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
      # 传递脚本路径
    include fastcgi_params;
  # 包含通用FastCGI参数
}
    

保存后,测试Nginx配置语法是否正确:

sudo nginx -t

若输出syntax is ok,则重启Nginx:

sudo systemctl restart nginx

6. 验证PHP配置

创建PHP测试文件,验证Web服务器是否能正确解析PHP:

sudo nano /var/www/html/info.php

在文件中添加以下内容:

<
    ?php
phpinfo();
    
?>
    

保存后,在浏览器访问http://your_server_ip/info.php,若看到PHP信息页面(包含PHP版本、配置信息等),则说明配置成功。

7. 安全加固(可选但重要)

7.1 隐藏PHP版本信息

修改Apache或Nginx配置,隐藏PHP版本,减少信息泄露风险:

  • Apache:在/etc/apache2/conf-enabled/security.conf中添加:
    ServerTokens Prod
    ServerSignature Off
    
  • Nginx:在/etc/nginx/nginx.confhttp块中添加:
    server_tokens off;
        
    

重启Web服务器使配置生效。

7.2 限制PHP执行目录

防止恶意脚本在非Web目录执行,可在Apache或Nginx配置中限制open_basedir

;
     在php.ini中添加
open_basedir = /var/www/html/:/tmp/

重启Web服务器使配置生效。

7.3 防火墙设置

允许HTTP(80端口)和HTTPS(443端口)流量通过防火墙:

sudo ufw allow 'Apache Full'  # Apache
# 或
sudo ufw allow 'Nginx Full'   # Nginx
sudo ufw enable  # 启用防火墙

通过以上步骤,你已在Ubuntu上成功配置PHP服务器(支持Apache或Nginx),可根据实际需求进一步优化(如调整PHP-FPM进程数、启用OPcache加速等)。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Ubuntu PHP如何配置服务器
本文地址: https://pptw.com/jishu/733474.html
Ubuntu PHP安全怎样保障 Ubuntu PHP性能如何提升

游客 回复需填写必要信息