zoukankan      html  css  js  c++  java
  • centos8平台上php7.4的生产环境配置

    一,php错误与日志的配置

    1,创建php的日志保存目录:

    [root@yjweb ~]# mkdir -p /data/logs/phplogs
    [root@yjweb ~]# chmod 777 /data/logs/phplogs

    2,编辑php.ini中指定错误相关的信息:

    [root@yjweb ~]# vi /usr/local/soft/php7/etc/php.ini

    配置内容为: 

    1,确认log_errors的值是On,

       其默认值是On,一般不需要修改

    log_errors = On

    2,确保display_errors的值是Off,

    其默认值是Off,一般不需要修改

    说明:在线上不能直接在页面上显示报错信息,会把目录结构/数据表/等暴露出去

    display_errors = Off

    3,重点:指定error_log的值,

    error_log = /data/logs/phplogs/php7_errors.log

    说明:默认的错误日志写到这里

    说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest

             对应的源码可以访问这里获取: https://github.com/liuhongdi/

     说明:作者:刘宏缔 邮箱: 371125307@qq.com

    二,php.ini中需要手动配置的项目:

    需要手动指定的环节:

    1,时区:

    date.timezone = Asia/Shanghai

    2,单次post的最大数据量:

    post_max_size = 128M

    3,文件上传时文件大小限制:

    upload_max_filesize = 64M

    4,脚本可使用的最大内存大小

    memory_limit = 128M

    5,每个脚本用来解析请求数据的最长的时间

       默认60s

    max_input_time = 60

    6,session的生命周期,设置为1个小时

    session.gc_maxlifetime = 3600

    三,创建运行php的nginx用户

    [root@yjweb ~]# groupadd nginx
    [root@yjweb ~]# useradd nginx -g nginx -s /sbin/nologin -M
    [root@yjweb ~]# grep nginx /etc/passwd
    nginx:x:1001:1001::/home/nginx:/sbin/nologin

    说明:php-fpm的默认运行用户是nobody,

             它是一个linux系统的内置用户,

             如果有需要统一uid的地方则不方便去修改它,

            所以我们自建一个nginx账户,用来运行nginx和php-fpm

    四,php-fpm的设置之php-fpm.conf

    1,配置php-fpm.conf

    [root@yjweb ~]# vi /usr/local/soft/php7/etc/php-fpm.conf

    配置内容为:

    指定php-fpm的错误日志

    error_log = /data/logs/phplogs/php-fpm_error.log

    五,php-fpm的设置之配置www.conf

    [root@yjweb ~]# vi /usr/local/soft/php7/etc/php-fpm.d/www.conf

    配置内容为: 

    1,配置用户和组,使用自己建立的nginx用户

    user = nginx
    group = nginx 

    2,配置pm

    pm.max_children = 128
    pm.start_servers = 10
    pm.min_spare_servers = 5
    pm.max_spare_servers = 35 

    说明:依次为:最大子进程数量

                         最小子进程数量:即:启动时的数量

                         最小闲置子进程数量

                         最大闲置子进程数量:闲置的子进程数量超出此数字的会被杀掉

    3,配置慢查询

    slowlog = /data/logs/phplogs/php-fpm_slow.log
    request_slowlog_timeout = 2s

    说明:配置2s超时

    六,查看本地centos的版本

    [webop@yjweb ~]$ cat /etc/redhat-release
    CentOS Linux release 8.0.1905 (Core) 

    七,查看本地php的版本

    [root@yjweb etc]# /usr/local/soft/php7/bin/php -v
    PHP 7.4.2 (cli) (built: Mar  5 2020 11:16:38) ( NTS )
    Copyright (c) The PHP Group
    Zend Engine v3.4.0, Copyright (c) Zend Technologies

    八,使systemctl支持php的服务

    1,新增service文件

    [root@localhost daemon]# vi /usr/lib/systemd/system/php-fpm.service
    [root@localhost daemon]# systemctl daemon-reload
    [root@localhost daemon]# systemctl start php-fpm
    [root@localhost daemon]# systemctl stop php-fpm

    2,service文件的内容:

    [Unit]
    Description=php-fpm
    After=network.target
    [Service]
    Type=forking
    ExecStart=/usr/local/soft/php7/daemon/php-fpm start
    ExecStop=/usr/local/soft/php7/daemon/php-fpm stop
    PrivateTmp=true
    [Install]
    WantedBy=multi-user.target
  • 相关阅读:
    属性MyBank
    C#语法
    NTE与C#
    css3制作网页动画
    网页定位元素
    使用ADO.NET访问数据库
    连接查询和分组查询
    模糊查询和聚合函数
    习题集
    用sql语句操作数据
  • 原文地址:https://www.cnblogs.com/architectforest/p/12433617.html
Copyright © 2011-2022 走看看