Nginx/PHP安装

Nginx/PHP安装

Nginx安装

Ubuntu 16.04.1

安装前准备工作

安装gcc:apt-get -y install gcc
安装g++:apt-get -y install g++
安装openssl:apt-get -y install openssl
安装build-essential:apt-get -y install build-essential

安装PCRE

PCRE 作用是支持http_rewrite,和让 Nginx 支持正则表达式。如果Nginx配置中没有正则表达式,并且不需要http_rewrite则这个模块可以不安装。
1、下载 PCRE 安装包,下载地址: http://downloads.sourceforge.net/project/pcre/pcre/8.44/pcre-8.44.tar.gz
2、解压安装包:tar -zxvf pcre-8.44.tar.gz
3、进入安装包目录: cd pcre-8.44
4、编译安装

./configure  --disable-dependency-tracking
make && make install

5、查看pcre版本: pcre-config --version

安装Nginx

1、下载路径:http://nginx.org/download/nginx-1.16.0.tar.gz,下载后放到/usr/local目录下
2、解压安装包:tar -zxvf nginx-1.16.0.tar.gz
3、进入安装包目录,编译安装

cd nginx-1.16.0/
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --without-http_gzip_module --with-pcre=/usr/local/src/pcre-8.44
make
make install

4、查看nginx版本:/usr/local/webserver/nginx/sbin/nginx -v
5、启动nginx:/usr/local/webserver/nginx/sbin/nginx

Centos7.5

安装前准备工作

安装gcc:yum -y install gcc
安装gcc-c++: yum -y install gcc-c++
安装openssl:yum -y install openssl openssl-devel

安装PCRE

参考Ubuntu安装方法

安装Nginx

1、下载安装包:cd /usr/local/ && wget http://nginx.org/download/nginx-1.16.0.tar.gz
2、解压到/usr/local/nginx目录:mkdir nginx && tar -zxf nginx-1.16.0.tar.gz -C nginx --strip-components 1
3、检测环境并配置:./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.44
4、编译并安装:make && make install
5、启动nginx:/usr/local/nginx/sbin/nginx
6、停止nginx:/usr/local/nginx/sbin/nginx -s stop
7、测试文件放到:/usr/local/nginx/html目录下

安装PHP

1、如果内存小于1G,需要开启swap内存交换空间
2、安装依赖包:

yum -y install libxml2
yum -y install libxml2-devel
yum -y install sqlite-devel

3、下载安装包:cd /usr/local/ && wget https://packages.baidu.com/app/php-7.3/php-7.3.0.tar.bz2
4、解压到/usr/local/目录:tar -jxf php-7.3.0.tar.bz2
5、检测环并配置:./configure --enable-fpm --with-pdo-mysql
6、编译并安装:make && make install
7、创建配置文件,并将其复制到正确的位置

cp php.ini-development /usr/local/lib/php.ini
cp /usr/local/etc/php-fpm.d/www.conf.default /usr/local/etc/php-fpm.d/www.conf
cp sapi/fpm/php-fpm /usr/local/bin

8、将 php.ini 文件中的配置项 cgi.fix_pathinfo 设置为 0 。如果文件不存在,则阻止 Nginx 将请求发送到后端的 PHP-FPM 模块, 以避免遭受恶意脚本注入的攻击。

vim /usr/local/lib/php.ini

9、修改 php-fpm.conf 配置文件,确保 php-fpm 模块使用 www-data 用户和 www-data 用户组的身份运行:vim /usr/local/etc/php-fpm.d/www.conf

; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
;       will be used.
user = www-data
group = www-data

10、启动php-fpm: /usr/local/bin/php-fpm
关闭php-fpm: pkill php-fpm
11、配置 Nginx 使其支持 PHP 应用:vim /usr/local/nginx/conf/nginx.conf
修改location块,使其支持.php文件

location / {
    root   html;
    index  index.php index.html index.htm;
}

下一步配置来保证对于 .php 文件的请求将被传送到后端的 PHP-FPM 模块, 取消默认的 PHP 配置块的注释,并修改为下面的内容:

location ~* \.php$ {
    fastcgi_index   index.php;
    fastcgi_pass    127.0.0.1:9000;
    include         fastcgi_params;
    fastcgi_param   SCRIPT_FILENAME    $document_root$fastcgi_script_name;
    fastcgi_param   SCRIPT_NAME        $fastcgi_script_name;
}

12、重新启动nginx:sudo /usr/local/nginx/sbin/nginx

安装过程中可能出现的问题

1、安装gcc提示glibc版本过高导致安装失败(不建议使用这种方法)

在这里插入图片描述

降级解决依赖问题:

yum downgrade glibc glibc-devel glibc-common glibc-headers

问题:

在这里插入图片描述

解决方案:./configure --prefix=/usr/local/nginx --conf-path=/usr/local/nginx/nginx.conf

                       

点击阅读全文

上一篇 2023年 6月 15日 am10:26
下一篇 2023年 6月 15日 am10:28