nginx+php 手动编译全流程

本文档详细介绍了如何在阿里云CentOS-8系统上手动编译安装Nginx 1.18.0和PHP 7.4.9,包括所需依赖、编译步骤、配置文件修改及服务启动。同时,提供了Nginx与PHP结合配置的快速指南。
摘要由CSDN通过智能技术生成

系统 阿里云 CentOS-8 //注意端口开放,防火墙限制等问题,这些问题自己检查
PHP 版本 7.49
nginx 版本 1.18.0
不说废话,直接上流程,手动编译不规定一定要用,但是一定要会。

下载
1、下载Nginx

wget http://nginx.org/download/nginx-1.18.0.tar.gz

2、下载PHP

wget https://www.php.net/distributions/php-7.4.9.tar.gz

安装Nginx
依赖:

yum install gcc gcc-c++ automake pcre pcre-devel zlip zlib-devel openssl openssl-devel

1、解压

 tar -zxvf nginx-1.18.0.tar.gz

2、进入目录

cd ./nginx-1.18.0

3、编译(默认就好)

./configure

4、安装

make && make install

#注:编译安装的过程中如果有报错,一般都是缺少依赖,缺什么安装什么就好了
5、把nginx 添加进服务

在/etc/init.d下创建文件nginx

添加可执行权限 chmod a+x /etc/init.d/nginx

vim /etc/init.d/nginx

#!/bin/bash
#Startup script for the nginx Web Server
#chkconfig: 2345 85 15
nginx=/usr/local/nginx/sbin/nginx
conf=/usr/local/nginx/conf/nginx.conf
case $1 in
start)
echo -n "Starting Nginx"
$nginx -c $conf
echo " done."
;;
stop)
echo -n "Stopping Nginx"
killall -9 nginx
echo " done."
;;
test)
$nginx -t -c $conf
echo "Success."
;;
reload)
echo -n "Reloading Nginx"
ps auxww | grep nginx | grep master | awk '{print $2}' | xargs kill -HUP
echo " done."
;;
restart)
$nginx -s reload
echo "reload done."
;;
*)
echo "Usage: $0 {start|restart|reload|stop|test|show}"
;;
esac

保存,即可使用命令:

service nginx start
service nginx stop
service nginx restart

//启动nginx , 通过ip访问正常:

安装PHP
依赖:

yum install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel

1、解压

tar -zxvf php-7.4.9.tar.gz

2、进入目录

cd ./php-7.4.9
3、编译

./configure --prefix=/usr/local/php --disable-fileinfo --enable-fpm --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-openssl --with-zlib --with-curl --enable-ftp --with-gd --with-xmlrpc --with-jpeg-dir --with-png-dir --with-freetype-dir --enable-gd-native-ttf --enable-mbstring --with-mcrypt=/usr/local/libmcrypt --enable-zip --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-mysql-sock=/var/lib/mysql/mysql.sock --without-pear  --enable-bcmath

4、安装

make && make install

#注:编译安装的过程中如果有报错,一般都是缺少依赖,缺什么安装什么就好了
5、配置文件

# 复制配置文件
cp ./php-7.4.9/php.ini-development /usr/local/php/lib/php.ini
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
#复制启动脚本
cp ./sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
#添加执行权限
chmod +x /etc/init.d/php-fpm 

使用命令查看

php -v

php-fpm命令(开启/重启/停止):
/etc/init.d/php-fpm start/restart/stop

查看是否安装完成:

ps -ef|grep php-fpm

Nginx与PHP结合(快速简易版,优化的配置请自行研究)
配置文件的解释请看文章

https://zhuanlan.zhihu.com/p/97208252

vim nginx.conf

server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

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

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        location ~ \.php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /usr/local/nginx/html$fastcgi_script_name;
            include        fastcgi_params;
        }

配置PHP 的 /usr/local/php/etc/php-fpm.d/www.conf

env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp
listen.allowed_clients = 127.0.0.1
listen.owner = nobody
listen.group = nobody
listen = 127.0.0.1:9000
#以上配置去掉注释
保存

重启fpm 和 nginx

在项目目录,也就是默认的 nginx 下的 html 目录,创建.php文件,进行访问。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CRMEB定制开发

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值