今天小编给大家分享一下怎么编译NGINX并支持PHP的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
前提条件
在开始安装之前,请确保您的系统上已经安装了gcc、make和zlib-devel包。可以通过以下命令来安装这些软件包:
$ sudo yum install gcc make zlib-devel
下载与解压缩
首先,您需要下载NGINX源代码。您可以从官方网站上下载最新版本。
$ wget https://nginx.org/download/nginx-1.19.2.tar.gz
解压缩下载的文件:
$ tar -zxvf nginx-1.19.2.tar.gz
进入解压目录:
$ cd nginx-1.19.2
编译安装
要编译NGINX并支持PHP,您需要在编译NGINX时添加
--with-http_stub_status_module和
--with-http_realip_module参数。
以下是编译命令:
$ ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_realip_module --with-http_ssl_module --add-module=/usr/local/src/ngx_cache_purge --add-module=/usr/local/src/headers-more-nginx-module --add-module=/usr/local/src/ngx_http_upstream_session_sticky_module --add-module=/usr/local/src/encrypted-session-nginx-module --add-module=/usr/local/src/nginx-module-vts $ make && sudo make install
以上命令将导致NGINX与实时IP模块打包,并通过--with-http_ssl_module参数支持SSL。此外,还添加了一些第三方模块,例如ngx_cache_purge,headers-more-nginx-module,ngx_http_upstream_session_sticky_module,encrypted-session-nginx-module和nginx-module-vts等。
PHP支持
要在NGINX中支持PHP,请确保在安装PHP时已启用了FPM。FPM是FastCGI Process Manager的缩写,它使PHP与NGINX相互关联。
接下来,在NGINX的配置文件中添加以下内容以启用PHP支持。
location ~ .php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
SCRIPT_FILENAME参数指定PHP脚本的路径。