其实在上篇 nginx安装教程 前我就已经装好了php,不过为了顺应开发流程我将nginx安装放在了前面。截止到现在依然有很多的中小型公司甚至一些大厂的某些部门还在使用php搭建后台、编写服务。php还是有她的独特之处的,等你真正理解了这门语言就会发现写php是真的“快”!!!
一、下载安装php
- 安装依赖
yum install -y libxml2 libxml2-devel libcurl libcurl-devel libwebp libwebp-devel libjpeg* libpng libpng-devel openldap openldap-devel openssl openssl-devel freetype-devel php-mcrypt libmcrypt libmcrypt-devel mcrypt mhash readline readline-devel mysql-devel - 下载解压php安装包
cd /home/test/php
wget https://www.php.net/distributions/php-7.2.18.tar.gz
tar -xvzf php-7.2.18.tar.gz && cd php-7.2.18.tar.gz - 安装php
在安装之前创建www用户 useradd -M -s /sbin/nologin www
./configure --prefix=/usr/local/php72 --with-config-file-path=/usr/local/php72/etc --with-mysqli=/usr/bin/mysql_config --with-pdo-mysql=/usr/bin/mysql --with-mysql-sock=/var/lib/mysql/mysql.sock --enable-sockets --enable-zip --with-fpm-user=www --with-fpm-group=www --enable-fpm --enable-gd-native-ttf --with-jpeg-dir --with-freetype-dir --with-gd --with-curl --with-curl --with-mcrypt --with-openssl --with-xmlrpc --enable-bcmath --enable-shmop --enable-sysvsem --enable-soap --enable-inline-optimization --enable-mbregex --enable-mbstring --enable-pcntl --enable-gd-jis-conv --enable-ftp --with-zlib --with-mhash
安装路径为/usr/local/php72
make && make install
二、php环境设置
- 复制php.ini文件
cp /home/wangkc/php/php-7.2.18/php.ini-production /usr/local/php72/etc/php.ini
cp /home/wangkc/php/php-7.2.18/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
cp /usr/local/php72/etc/php-fpm.conf.default /usr/local/php72/etc/php-fpm.conf
cp /usr/local/php72/etc/php-fpm.d/www.conf.default /usr/local/php72/etc/php-fpm.d/www.conf - 启动php-fpm
chmod 777 /etc/init.d/php-fpm
/etc/init.d/php-fpm start
ps aux|grep php 查看php-fpm的master和worker进程
- 设置php-fpm开机自启动
chkconfig php-fpm on
chkconfig --list 查看自启动服务
三、在Nginx中配置php项目
首先确保你已经安装并且启动了nginx并且在浏览器中可以成功访问当前服务器的公网ip
-
修改nginx.conf文件
vim /usr/local/nginx/conf/nginx.conf
在http{} 的最下方添加 include ./conf.d/*.conf;
以后所有的配置文件都放在 /usr/local/nginx/conf/conf.d/ 下
把nginx.conf自带的80端口的配置注释掉
将log_format注释打开 更换access_log路径
创建/data/logs 文件夹 存放nginx日志
-
添加backend.conf文件
在/usr/local/nginx/conf/conf.d/下创建backend.conf文件
项目根路径为/data/web/backend/public
添加
server {
listen 80;
server_name 你的公网ip或者是域名;
access_log /data/logs/backend.access.log main;
location / {
if (!-e $request_filename) {
rewrite ^/(.*) /index.php/$1 last;
}
root /data/web/backend/public;
index index.php index.html index.htm ;
}
location ~ \.php {
root /data/web/backend/public;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
include fastcgi_params;
}
}
- 在/data/web/下部署一个名为backend的php项目 各种主流的php框架均可
确保 index.php的路径与nginx中的backend.conf中的root路径一致 - 重启nginx
sudo /usr/local/nginx/sbin/nginx -t 配置检查成功后再进行重启
sudo /usr/local/nginx/sbin/nginx -s reload - 本地浏览器访问
OK,访问成功 现在可以开始搭建你的网站了。
四、安装php扩展
这里以安装redis扩展为例
- 下载安装包
cd /home/test/php/redis
wget https://pecl.php.net/get/redis-5.0.0.tgz
tar -xvzf redis-5.0.0.tgz
/usr/local/php72/bin/phpize 生成configure文件 - 安装redis扩展
./configure --with-php-config=/usr/local/php72/bin/php-config 指定php版本
make && make install
在php.ini中添加php扩展
vim /usr/local/php72/etc/php.ini
extension = “/usr/local/php72/lib/php/extensions/no-debug-non-zts-20170718/redis.so”
- 重启php-fpm
service php-fpm restart