Nginx 环境搭建

本文将介绍几种常见的搭建 Nginx(以及 PHP)环境的方法。

包管理工具

使用包管理工具安装无疑是最方便、可控的。我们以 Ubuntu 为例,以下命令将会安装 Nginx。

1
apt install nginx

PHP 和一些常用的 PHP 拓展库也可以一并安装:

1
apt install php php-fpm php-mysql php-mbstring php-curl php-zip php-imagick

安装完成后需要进行配置。比较关键的是以下两个配置文件:

  • php-fpm 配置文件 /etc/php/7.2/fpm/pool.d/www.conf
  • Nginx 配置文件 /etc/nginx/nginx.conf

这里的 7.2 是笔者测试时安装的 PHP 版本,可以根据情况替换。为了避免权限问题,需要确保两者的用户名一致。即

  • php-fpm 配置文件中的 listen.ownerlisten.group
  • 以及 Nginx 配置文件中的 user

是相同的。默认情况下它们都是 www-data,如果自己修改就需要注意两处都要改。

最后需要为 Nginx 启用 PHP。可以参考默认的网站配置文件 /etc/nginx/sites-available/default,其中有一段关于 location ~ \.php$ 的配置被注释掉了。根据需要启用这段配置即可,注意 fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; 同样需要设置得与 php-fpm 配置文件中一致。

源码安装

源码安装的优点是可以方便地自定义各种第三方库。

准备工作

首先还是用包管理工具安装必须的依赖包:

1
apt install g++ zlib1g-dev libjemalloc-dev libssl-dev libpcre3 libpcre3-dev

Nginx 源码在此处下载,我们以 1.14.0 版本为例。你可以换成更新的版本。

1
2
3
wget http://nginx.org/download/nginx-1.14.0.tar.gz
tar -xzvf nginx-1.14.0.tar.gz
cd nginx-1.14.0

编译安装

然后编译安装 Nginx。

1
2
./configure --user=www-data --group=www-data --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module --with-http_gzip_static_module --with-ipv6 --with-http_sub_module
make && make install

configure 参数中的 usergroup 都设置为了 www-data。如果要修改为其它用户,需要注意一并修改 php-fpm 配置文件中的相关设置,否则会出现权限问题。
此外,如果是通过 ssh 连接的远程服务器,在执行 make 时可以开一个 screen,避免连接断开导致编译终止。

LNMP

如果你是萌新,请按照👇教程安装搭建 lnmp 环境!
lnmp 环境一键安装脚本

1
2
3
4
5
#下载并安装lnmp环境,将1.4替换为最新版本
wget -c http://soft.vpser.net/lnmp/lnmp1.4.tar.gz
tar -xzvf lnmp1.4.tar.gz
cd lnmp1.4
./install.sh lnmp

请按照脚本的提示选择你要安装的各个组件版本,若不确定,选择默认选项即可。安装完成后,命令行输出:

此时访问服务器地址会出现如下界面:

注意:安装时解压生成的文件夹 lnmp1.4 先别删除,以后可能还有用!