在Ubuntu系统安装PHP7和Nginx并配置php-fpm

  1. 下载php
wget http://am1.php.net/distributions/php-7.2.1.tar.gz
  1. 解压并编译php
tar -zxvf php-7.2.1.tar.gz
cd php-7.2.1
./configure --prefix=/opt/php/php7.0 --with-config-file-path=/opt/php/php7.0/etc/ --enable-fpm --enable-opcache --enable-mbstring --with-curl --with-gd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-zlib --with-curl --with-mhash --enable-zip
make
sudo make install

如果在./configure过程中碰到依赖库未安装,直接用apt-get instal命令安装对应的dev库就可以了。

  1. 配置php
# 进入安装目录
cd /opt/php/php7.0/etc/
# 根据模板复制一份php-fpm.conf配置文件
sudo cp php-fpm.conf.default php-fpm.conf
# 编辑
sudo vim php-fpm.conf
# 将日志文件开启,去掉前面的;符号
error_log = log/php-fpm.log
# 进入php-fpm.d目录,在根据默认模板复制一份配置文件,并编辑
cd php-fpm.d
sudo cp www.conf.default www.conf
sudo vim www.conf
# 指定用户
user = nginx
group = nginx
# 如果没有这个用户,就添加
useradd nginx -s /bin/false
# 修改默认的listen
listen = 127.0.0.1:9000
# 改成下面这样
listen = /dev/shm/php-cgi.sock
  1. 回到安装目录,启动php-fpm进程
cd /opt/php/php7.0
sudo ./sbin/php-fpm

  1. 下载Nginx
wget http://nginx.org/download/nginx-1.8.1.tar.gz
  1. 解压并安装Nginx
tar -zxvf nginx-1.8.1.tar.gz
cd nginx-1.8.1
./configure --prefix=/opt/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module

如果在./configure过程中碰到依赖库未安装,直接用apt-get instal命令安装对应的dev库就可以了。

  1. 在Nginx配置php
# 进入Nginx安装目录
cd /opt/nginx
# 编辑配置文件
sudo vim conf/nginx.conf
# 修改user
user  nginx;
# 修改server的location
location / {
    root html;
    index index.php index.htm index.html;
}

location ~ \.php$ {
    root html;
    fastcgi_pass unix:/dev/shm/php-cgi.sock;
    fastcgi_index index.php;
    include fastcgi.conf;
}
  1. 启动Nginx
修改sock文件所属用户组
sudo chown -R nginx:nginx /dev/shm/php-cgi.sock
sudo ./sbin/nginx

本博客采用 知识共享署名-禁止演绎 4.0 国际许可协议 进行许可

本文标题:在Ubuntu系统安装PHP7和Nginx并配置php-fpm

本文地址:https://jizhong.plus/post/2018/01/ubuntu-install-nginx-and-php.html