这里写自定义目录标题
CentOS 8配置Nginx+PHP+MySQL+Git详细安装设置
作为服务器系统再加上一个PHP开发者,使用CentOS8系统运行LNMP技术栈是件很正常的事,再加上作为一个强迫症,有了这种新系统软件新版本,忍不住想要折腾下,这里把我在CentOS8上的配置Nginx+PHP+MySQL+Git 过程及遇到的坑记录一下,顺便备份下相关配置文件,方便有需要的朋友查找。
操作系统: CentOS 8.2 64位
为PHP-FPM及Nginx创建专门的用户
考虑到安全问题,我建议为PHP-FPM及Nginx专门创建一个只用来跑Web服务、没有home目录也不允许登录的用户,我这里是创建一个www用户组,然后创建一个www用户并分配到www组,命令如下:
groupadd www
//-s参数是表示不允许登录,-g参数是分配到www组,-M表示不创建用户目录。
useradd -s /sbin/nologin www -g www -M
后面我们统一用www用户组下面的www用户来运行Nginx及PHP-FPM,这样就能解决文件读写权限问题。
安装PHP
CentOS8自带了PHP7.2版本,相对来说比较新,暂时不需要借助第三方的源来安装,而且CentOS8自带的PHP的模块也相对来说够用,使用下面命令可以看到所有PHP相关的包:
//搜索php
yum search php
其中,php-cli是我们命令运行PHP所需要的,php-fpm是用来配合Nginx使用的,php-mysqlnd是连接MySQL使用的,php-pear在安装一些特定的模块比如说Redis、MongoDB、Swoole等需要用到,php-mbstring包含了一些加密解密函数,php-gd是图形库,生成图形验证码可能需要用到,php-opcache是用来加速PHP运行的,php-process在Swoole相关进行需要用到等等。
安装PHP相关包
PHP的模块我们不需要全部安装,仅需要安装一些必须的,以常用的WordPress及Laravel来说,我们只需要安装如下几个包就行:
yum install php-cli php-fpm php-gd php-mysqlnd php-mbstring php-opcache php-pdo
配置PHP-FPM
安装好了之后,我们还需要稍稍配置一下PHP-FPM,以让其更好的与Nginx进行配合工作。
编辑**/etc/php-fpm.d/www.conf **文件,这个文件有两个需要注意的地方,其中一个就是运行PHP-FPM的用户及对应的用户组:
//可以使用命令修改也可以使用下面的工具修改
vim /etc/php-fpm.d/www.conf
:%s/apache/www/g
修改上述文件,将其中的user及group字段由apache更改成上述我们创建的www。
另外一个就是**listen = /run/php-fpm/www.sock **这个配置置项,这一行配置了PHP-FPM运行模式及对应的文件目录,我们后面配置Nginx时会用到它。
//启动:
systemctl start php-fpm
//停止
systemctl stop httpd
在后面nginx配置完后再来启动
Nginx安装及配置
安装Nginx很简单,CentOS8系统源自带,只需要一行命令就能安装好:<