LNMP-PHP安装

Nginx-学习目录

1、环境准备

1.1、下载软件

wget https://www.php.net/distributions/php-7.4.16.tar.gz

1.2、安装依赖包

yum install epel-release -y
yum install gcc gcc-c++ freetype freetype-devel libpng libpng-devel libxml2-devel libmcrypt libmcrypt-devel mhash libxml2 libxml2-devel mcrypt \
zlib zlib-devel libjpeg libjpeg-devel sqlite-devel oniguruma oniguruma-devel expat-devel curl-devel openssl-devel -y
yum install mariadb mariadb-server mariadb-devel -y

1.3、创建用户和组

groupadd -g 666 www
useradd -u 666 -g 666 www

2、源码方式-安装php

2.1、编译安装

2.1.1、安装

tar xf php-7.4.16.tar.gz && cd php-7.4.16
export php_version=php-7.4.16
./configure --prefix=/usr/local/${php_version}/ \
--with-config-file-path=/usr/local/${php_version}/etc/ \
--with-mysqli \
--with-pdo-mysql \
--with-expat \
--with-jpeg \
--with-freetype \
--with-curl \
--with-zlib \
--with-openssl \
--enable-soap \
--enable-mbstring=all \
--enable-sockets \
--enable-gd \
--enable-fpm  #Nginx需要的功能
make && make install
ln -s /usr/local/php-7.4.16 /usr/local/php

2.1.2、配置环境变量

cat >/etc/profile.d/php.sh<<'EOF'
export PHP_HOME=/usr/local/php
export PATH=$PATH:${PHP_HOME}/bin:${PHP_HOME}/sbin
EOF

2.1.3、查询版本

]# php -v
PHP 7.4.16 (cli) (built: Apr 28 2023 17:26:44) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies

2.2、配置文件

2.2.1、复制配置文件

php-7.4.16]# cp php.ini-production /usr/local/php-7.4.16/etc/php.ini

2.2.2、打开php-fpm.pid

mv /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
]# cat /usr/local/php/etc/php-fpm.conf | grep -Ev "^;|^$" [global] pid = run/php-fpm.pid include=/usr/local/php-7.4.16/etc/php-fpm.d/*.conf

2.2.3、修改php-fpm运行用户、组和其它配置

mv /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
sed -i '/^user =/c user = www' /usr/local/php/etc/php-fpm.d/www.conf
sed -i '/^group =/c group = www' /usr/local/php/etc/php-fpm.d/www.conf

# 设置监听所有的IP地址
sed -i '/^listen =/c listen = 0.0.0.0:9000' /usr/local/php/etc/php-fpm.d/www.conf

2.3、设置开机自启

cat >/lib/systemd/system/php-fpm.service <<'EOF'
[Unit]
Description=The PHP FastCGI Process Manager
After=syslog.target network.target

[Service]
Type=forking
PIDFile=/usr/local/php/var/run/php-fpm.pid
ExecStart=/usr/local/php/sbin/php-fpm
ExecReload=/bin/kill -USR2 $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target
EOF

systemctl daemon-reload
systemctl start php-fpm
systemctl enable php-fpm

2.4、检查端口9000是否开启

php ~]# netstat -tunlp | grep php
tcp        0      0 0.0.0.0:9000            0.0.0.0:*               LISTEN      125535/php-fpm: mas

3、yum方式-安装php

3.1、添加epel第三方依赖库,安装YUM源

yum -y install epel-release yum-utils
https://mirrors.tuna.tsinghua.edu.cn/remi/enterprise/remi-release-7.rpm

 

3.2、安装PHP相关依赖库和模块

yum install -y php74-php php74-php-cli php74-php-common php74-php-devel \
php74-php-embedded php74-php-gd php74-php-mcrypt php74-php-mbstring php74-php-pdo \
php74-php-xml php74-php-fpm php74-php-mysqlnd php74-php-opcache php74-php-pecl-memcached \
php74-php-pecl-redis php74-php-pecl-mongodb

 

3.3、检查YUM安装是否成功

php --version                      #查看版本
php -m                             #查看安装模块,需要用到的模块,没有安装的需要YUM安装
systemctl enable --now php-fpm     #设置开机启动,并启动。
ss -ntulp | grep php-fpm

3.4、优化PHP-FPM

3.4.1、调整PHP-FPM文件

vim /etc/php-fpm.conf
log_level = error                       # 指定要记录的php-fpm日志级别
rlimit_files = 32768        # 为主进程设置打开文件的限制,虚拟机无法设置。
events.mechanism = epoll    # 指定事件驱动模型

3.4.2、调整PHP.ini文件

隐藏后端使用的真正脚本类型,扰乱入侵者的渗透思路,另外,切记不要把敏感数据直接明文存在session中,有泄露风险。
vim /etc/php.ini
error_reporting = E_WARING & ERROR    #设置php的错误报告级别,只需要报告警告和错误即可
error_log = /tmp/php_errors.log   #指定php错误日志存放位置
log_errors_max_len = 2048             #指定php错误日志的最大长度
expose_php = off                          #隐藏php的详细版本号
session.name = SESSIONID                #修改sessionid名称

修改完配置文件需要重新启动才可以生效
systemctl restart php-fpm

3.5、安装其他扩展

wget http://pecl.php.net/get/swoole-4.4.23.tgz
wget http://pecl.php.net/get/mongodb-1.8.2.tgz
wget http://pecl.php.net/get/mongodb-1.5.4.tgz
wget http://pecl.php.net/get/redis-4.3.0.tgz
wget http://pecl.php.net/get/redis-5.2.2.tgz

 

posted @ 2023-04-28 15:04  小粉优化大师  阅读(34)  评论(0编辑  收藏  举报