CentOS 7.9 安装Nginx和php

一、安装依赖

(1)安装编译环境

yum -y install gcc automake autoconf libtool make
yum install gcc gcc-c++

(2)安装pcre库

cd /usr/local/src
wget https://ftp.pcre.org/pub/pcre/pcre-8.39.tar.gz
tar -zxvf pcre-8.39.tar.gz
cd pcre-8.39
./configure
make && make install

(3)安装zlib

cd /usr/local/src
wget http://zlib.net/zlib-1.2.11.tar.gz
tar -zxvf zlib-1.2.11.tar.gz
cd zlib-1.2.11
./configure
make && make install

(4)安装openssl

cd /usr/local/src
wget https://www.openssl.org/source/openssl-1.1.0b.tar.gz
tar -zxvf openssl-1.1.0b.tar.gz
cd openssl-1.1.0b
./config
make && make install

二、安装Nginx

(1)下载Nginx

cd /usr/local/src
wget http://nginx.org/download/nginx-1.10.2.tar.gz
tar -zxvf nginx-1.10.2.tar.gz
cd nginx-1.10.2

(2)添加Nginx启动用户nginx

groupadd -r nginx
useradd  -r -g nginx nginx

(3)编译安装

./configure   --prefix=/usr/local/nginx   --sbin-path=/usr/local/nginx/sbin/nginx   --conf-path=/usr/local/nginx/nginx.conf   --pid-path=/usr/local/nginx/nginx.pid   --user=nginx   --group=nginx   --with-http_ssl_module   --with-http_flv_module  --with-http_mp4_module   --with-http_stub_status_module  --with-http_gzip_static_module  --http-client-body-temp-path=/var/tmp/nginx/client/  --http-proxy-temp-path=/var/tmp/nginx/proxy/  --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/  --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi  --http-scgi-temp-path=/var/tmp/nginx/scgi  --with-pcre=/usr/local/src/pcre-8.39  --with-zlib=/usr/local/src/zlib-1.2.11  --with-openssl=/usr/local/src/openssl-1.1.0b
make && make install

(4)测试

先创建目录,否则nginx启动会报错

mkdir -p /var/tmp/nginx/client

启动

cd /usr/local/nginx/sbin
./nginx 

浏览器输入ip地址,看到下面的信息表示安装成功

三、安装php

(1)先安装依赖

yum install gcc bison bison-devel zlib-devel libmcrypt-devel mcrypt mhash-devel openssl-devel libxml2-devel libcurl-devel bzip2-devel readline-devel libedit-devel sqlite-devel
yum -y install gcc gcc-c++ glibc
yum -y install libmcrypt-devel mhash-devel libxslt-devel \
libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel \
zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel \
ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel \
krb5 krb5-devel libidn libidn-devel openssl openssl-devel

(2)下载并编译安装PHP 7.3.24(这里选择了和macOS Big Sur自带的php版本)

cd /usr/local/src
wget http://au1.php.net/get/php-7.3.24.tar.gz/from/this/mirror
tar -zvxf mirror
cd php-7.3.24
./configure --prefix=/usr/local/php --enable-fpm --with-mcrypt \
--enable-mbstring --enable-pdo --with-curl --disable-debug  --disable-rpath \
--enable-inline-optimization --with-bz2  --with-zlib --enable-sockets \
--enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex \
--with-mhash --enable-zip --with-pcre-regex --with-pdo-mysql --with-mysqli \
--with-gd --with-jpeg-dir --with-freetype-dir --enable-calendar
make && make install

(3)如果提示Configure报错:Please reinstall the libzip distribution

移除旧的libzip

yum remove libzip

安装新版本

cd /usr/local/src
wget https://nih.at/libzip/libzip-1.2.0.tar.gz
tar -zxvf libzip-1.2.0.tar.gz
cd libzip-1.2.0
./configure

(4)如果提示编译报错 configure: error: off_t undefined; check your library configuration

添加搜索路径到配置文件

echo '/usr/local/lib64
/usr/local/lib
/usr/lib
/usr/lib64'>>/etc/ld.so.conf

更新配置

ldconfig -v

(5)如果提示编译报错/usr/local/include/zip.h:59:21: fatal error: zipconf.h: No such file or directory,则执行

cp /usr/local/lib/libzip/include/zipconf.h /usr/local/include/zipconf.h

四、配置php

cd /usr/local/src/php-7.3.24
cp php.ini-production /usr/local/php/etc/php.ini

五、配置php-fpm

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

六、添加用户和组

cd /usr/local/php
groupadd www
useradd -g www www

七、修改配置文件

(1)修改php-fpm.conf

cd /usr/local/php/etc/
vim php-fpm.conf

修改文件中的

pid = /usr/local/php/var/run/php-fpm.pid

(2)修改www.conf

cd /usr/local/php/etc/php-fpm.d
vim www.conf

修改

user = www

group = www

八、启动php-fpm

/usr/local/php/sbin/php-fpm

九、整合

user  www;
worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        access_log  logs/host.access.log;

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


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

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        location ~ \.php$ {
            root          /usr/local/nginx/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;
        }
    }
}

在/usr/local/nginx/html目录下,新建index.php文件,内容如下:

<?php
    phpinfo();
?>

浏览器访问 http://xxx.xxx.xxx.xxx/index.php ,出现如下页面表示正常。

如果浏览器出现 file not found.

则检查

(1)nginx的配置

fastcgi_param SCRIPT_FILENAME {{{web目录}}}$fastcgi_script_name;

(2)nginx的启动用户是否有权限访问{{{web目录}}}

全文完。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值