Centos 安裝 PHP7.4 + Nginx

準(zhǔn)備

1、下載所需安裝包

wget https://www.php.net/distributions/php-7.4.0.tar.gz
wget http://nginx.org/download/nginx-1.17.6.tar.gz

2、安裝所需擴(kuò)展

yum install -y gcc gcc-c++ make cmake bison autoconf wget lrzsz libtool libtool-ltdl-devel freetype-devel libjpeg.x86_64 libjpeg-devel libpng-devel gd-devel python-devel  patch  sudo openssl* openssl openssl-devel ncurses-devel bzip* bzip2 unzip zlib-devel libevent* libxml* libxml2-devel libcurl* curl-devel readline-devel sqlite-devel libsodium-devel https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/o/oniguruma-5.9.5-3.el7.x86_64.rpm https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/o/oniguruma-devel-5.9.5-3.el7.x86_64.rpm

安裝PHP

1、解壓-進(jìn)入目錄-生成編譯文件

tar -zxvf php-7.4.0.tar.gz
cd php-7.4.0
./configure --prefix=/usr/local/php \
   --with-config-file-scan-dir=/usr/local/php/etc/ \
   --with-mhash --with-pdo-mysql \
   --with-openssl --with-mysqli \
   --with-iconv --with-zlib \
   --enable-inline-optimization \
   --disable-debug --disable-rpath \
   --enable-shared --enable-xml \
   --enable-bcmath --enable-shmop \
   --enable-sysvsem --enable-sysvshm --enable-mbregex \
   --enable-mbstring --enable-ftp \
   --enable-pcntl --enable-sockets \
   --with-xmlrpc --enable-soap \
   --without-pear --with-gettext \
   --enable-session --with-curl \
   --enable-opcache --enable-fpm \
   --without-gdbm --enable-fast-install \
   --disable-fileinfo --with-sodium

2、編譯 并 安裝

make && make install

3、配置文件

  • 1.復(fù)制配置文件到安裝目錄
cp ~/php-7.4.0/php.ini-production /usr/local/php/etc/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
  • 2.修改PHP 配置文件 php.ini
vim /usr/local/php/etc/php.ini

內(nèi)容修改如下:

; 不顯示錯(cuò)誤,默認(rèn)
display_errors = Off

; 在關(guān)閉display_errors后開啟PHP錯(cuò)誤日志(路徑在php-fpm.conf中配置),默認(rèn)
log_errors = On

; 字符集,默認(rèn)
default_charset = "UTF-8"

; 文件上傳大小,默認(rèn)值太小,建議修改10M
upload_max_filesize = 2M

; Maximum size of POST data that PHP will accept.  表單最大值,默認(rèn)是8M,如果表單含有多圖上傳,大小可能不夠。超過(guò)該大小后臺(tái)收不到 表單數(shù)據(jù)
post_max_size = 8M

; 設(shè)置PHP的擴(kuò)展庫(kù)路徑,默認(rèn)被注釋了,之后一個(gè)文件夾 于 你/usr/local/php/lib/php/extensions/ 下的文件夾同名。
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20151012/"

; 設(shè)置PHP的時(shí)區(qū)
date.timezone = PRC

; 開啟opcache,默認(rèn)是0
[opcache]
; Determines if Zend OPCache is enabled
opcache.enable=1
  • 3.修改php-fpm 的配置文件 php-fpm.conf
vim /usr/local/php/etc/php-fpm.conf

內(nèi)容修改如下

; 去掉里分號(hào),方便以后重啟。建議修改
; Default Value: none
; 下面的值最終目錄是/usr/local/php/var/run/php-fpm.pid
; 開啟后可以平滑重啟php-fpm
pid = run/php-fpm.pid

; 設(shè)置錯(cuò)誤日志的路徑,可以默認(rèn)值
; Note: the default prefix is /usr/local/php/var
; Default Value: log/php-fpm.log, 即/usr/local/php/var/log/php-fpm.log
error_log = /var/log/php-fpm/error.log

; Log等級(jí),可以默認(rèn)值
; Possible Values: alert, error, warning, notice, debug
; Default Value: notice
log_level = notice

; 后臺(tái)運(yùn)行,默認(rèn)yes,可以默認(rèn)值
; Default Value: yes
; daemonize = yes

; 引入www.conf文件中的配置,可以默認(rèn)值
include=/usr/local/php/etc/php-fpm.d/*.conf
  • 4.修改 www.conf
vim /usr/local/php/etc/php-fpm.d/www.conf

內(nèi)容修改如下:

; 設(shè)置用戶和用戶組,默認(rèn)都是nobody??梢阅J(rèn)值
user = nginx
group = nginx

; 設(shè)置PHP監(jiān)聽
; 下面是默認(rèn)值,不建議使用??梢阅J(rèn)值
listen = 127.0.0.1:9000
; 根據(jù)nginx.conf中的配置fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
;listen = /var/run/php-fpm/php-fpm.sock

######開啟慢日志??梢阅J(rèn)值
slowlog = /var/log/php-fpm/$pool-slow.log
request_slowlog_timeout = 10s

4、php-fpm 操作

/usr/local/php/sbin/php-fpm -t        # php-fpm檢測(cè)配置文件是否正確
/usr/local/php/sbin/php-fpm         # php-fpm啟動(dòng)
kill -INT `cat /usr/local/php/var/run/php-fpm.pid`      # php-fpm關(guān)閉
kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid`     #php-fpm平滑重啟

安裝nginx

1、解壓-進(jìn)入目錄-生成編譯文件

tar -zxvf nginx-1.17.6.tar.gz
cd nginx-1.17.6
./configure \
    --prefix=/usr/local/nginx \
    --with-http_stub_status_module  \
    --with-http_ssl_module \
    --with-http_realip_module \
    --with-http_sub_module \
    --with-http_gzip_static_module \
    --with-pcre

2、編譯 && 安裝

make
make install
  • 測(cè)試一下 /usr/local/nginx/sbin/nginx -t
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful #測(cè)試成功

3、配置文件

  • 1.配置 nginx.conf,執(zhí)行 vim /usr/local/nginx/conf/nginx.conf

內(nèi)容修改如下

#user  nobody;
worker_processes  1;

error_log  /www/logs/nginx/error.log;
error_log  /www/logs/nginx/error_notice.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;
    
    #顯示目錄
    #autoindex on;
    #顯示文件大小
    #autoindex_exact_size on;
    #顯示文件時(shí)間
    #autoindex_localtime on;
    
    include /www/conf/vhosts/*.conf;
}
  • 2.添加網(wǎng)站配置文件
vim /www/conf/vhosts/default.conf

文件內(nèi)容如下

server{
    listen 80;
    server_name www.test.com;
    root /www/web/default;
    location / {
       #開啟 url 美化
        if (!-e $request_filename){
            rewrite ^/(.*) /index.php last;
        }
        index index.html index.php;
    }
    location ~ \.php$ {
        include fastcgi.conf;
        fastcgi_pass 127.0.0.1:9000;
        try_files $uri = 404;
    }
}

4、測(cè)試 配置

  • 運(yùn)行 /usr/local/nginx/sbin/nginx -t,若測(cè)試失敗,返回檢查執(zhí)行步驟是否有錯(cuò)誤

5、nginx 操作

/usr/local/nginx/sbin/nginx -t          # 檢測(cè)配置文件是否正確
/usr/local/nginx/sbin/nginx             # 啟動(dòng)
/usr/local/nginx/sbin/nginx -s stop     # 關(guān)閉
/usr/local/nginx/sbin/nginx -s reload   #平滑重啟

The End

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容