您的位置:首页 >CentOS PHP项目如何部署优化
发布于2026-04-23 阅读(0)
扫一扫,手机访问

部署的第一步,是把地基打牢。一个安全、稳定的基础环境,是后续所有工作的前提。
yum update -y && yum install -y wget curl vim net-tools。hostnamectl set-hostname lamp-server。systemctl start firewalld && systemctl enable firewalld。firewall-cmd --permanent --add-service={http,https,ssh} && firewall-cmd --reload。deployer:adduser deployer && passwd deployer。usermod -aG wheel deployer。/etc/ssh/sshd_config文件,将PermitRootLogin设置为no,并重启sshd服务使配置生效。semanage fcontext和restorecon命令修正自定义目录的安全上下文。mysql_secure_installation,以及虚拟主机配置文件路径写错。环境就绪,接下来是选择技术栈并安装组件。这一步决定了项目的底层架构。
yum install -y httpd && systemctl start httpd && systemctl enable httpdyum install -y mariadb-server mariadb && systemctl start mariadb && systemctl enable mariadbyum install -y php php-mysqlnd php-fpm php-opcache php-gd php-xml php-mbstring。这几个扩展覆盖了数据库连接、性能加速、图像处理和字符处理,是大多数Web应用的基础。mysql_secure_installation。这个脚本会引导你设置root密码、删除匿名用户、禁止root远程登录、删除测试数据库,是数据库安全的第一道防线。/var/www/下创建项目目录,比如myapp。/etc/httpd/conf.d/目录下创建配置文件myapp.conf,正确设置DocumentRoot和指令。别忘了将AllowOverride设为All,这样才能支持项目目录下的.htaccess文件。chown -R apache:apache /var/www/myapp。yum install -y certbot python3-certbot-apache。certbot --apache -d myapp.example.com,按照交互提示操作即可。echo “0 3 * * * /usr/bin/certbot renew --quiet” | crontab -。组件装好只是能跑,优化到位才能反赌。PHP层面的调优,效果立竿见影。
/etc/php.ini或/etc/php.d/opcache.ini,确保有以下关键配置:opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60memory_limit=256M (脚本内存上限)upload_max_filesize=32M (最大上传文件大小)post_max_size=64M (POST数据最大值,必须大于等于上传大小)max_execution_time=300 (脚本最大执行时间)display_errors=Off,但开启错误日志log_errors=On,既安全又便于排查问题。pm=dynamic动态模式,灵活又节省资源。pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500
request_terminate_timeout = 30sslowlog = /var/log/php-fpm/slow.log
request_slowlog_timeout = 10slisten = /run/php/php-fpm.sock
listen.owner = apache
listen.group = apache
listen.mode = 0660
user = apache
group = apachelocation ~ \.php$ {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass unix:/run/php/php-fpm.sock;
}
max_children ≈ 1536 / 40 ≈ 38。可以先设置为32–40之间的值,然后通过实际压测进行微调。Web服务器和网络协议的配置,直接影响着用户的访问速度和体验。
http2,listen 443 ssl http2;,能显著提升页面加载效率。gzip on; gzip_types text/plain text/css application/json application/ja vascript text/xml application/xml application/xml+rss text/ja vascript;。sendfile on; tcp_nopush on; tcp_nodelay on;。Cache-Control、Expires响应头,并利用ETag或Last-Modified进行缓存验证。worker_processes,根据连接数调整worker_connections。对于异常请求,要配置限流(limit_req)和限速(limit_rate)。KeepAlive On,减少TCP握手开销。mod_deflate。mod_cache、mod_expires。StartServers、MinSpareServers、MaxSpareServers和MaxRequestWorkers(旧版本叫MaxClients)等参数。系统上线后,保障其持续稳定、高效运行,并准备好应对增长和故障,这才是运维的核心。
htop、nmon、sar等工具实时监控CPU、内存、磁盘IO和网络流量。tail -f /var/log/httpd/error_log、/var/log/php-fpm/error.log以及前面提到的慢日志/var/log/php-fpm/slow.log,是排查问题的第一现场。logrotate,对Web服务器和PHP-FPM的日志进行自动轮转和清理,防止日志文件无限膨胀撑满磁盘。mysqldump进行逻辑备份,并考虑二进制日志以实现时间点恢复。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
9