Home > Operation and Maintenance > Nginx > How to install PHP7.4 and Nginx on Centos

How to install PHP7.4 and Nginx on Centos

WBOY
Release: 2023-05-26 16:41:41
forward
952 people have browsed it

Preparation

1. Download the required installation package

wget
wget

2. Install the required extension

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
Copy after login

Install php

1. Unzip - enter the directory - generate the compiled file

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
Copy after login

2. Compile and install

make && make install

3. Configuration file

1. Copy the configuration file to the installation directory

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
Copy after login

2. Modify the php configuration file php.ini

vim /usr/local/php/etc/php.ini

The content is modified as follows:

;不显示错误,默认
display_errors = off

;在关闭display_errors后开启php错误日志(路径在php-fpm.conf中配置),默认
log_errors = on

;字符集,默认
default_charset = "utf-8"

;文件上传大小,默认值太小,建议修改10m
upload_max_filesize = 2m

;maximum size of post data that php will accept. 表单最大值,默认是8m,如果表单含有多图上传,大小可能不够。超过该大小后台收不到 表单数据
post_max_size = 8m

;设置php的扩展库路径,默认被注释了,之后一个文件夹 于 你/usr/local/php/lib/php/extensions/ 下的文件夹同名。
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20151012/"

;设置php的时区
date.timezone = prc

;开启opcache,默认是0
[opcache]
; determines if zend opcache is enabled
opcache.enable=1
Copy after login

3. Modify the configuration file php-fpm of php-fpm. conf

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

The contents are modified as follows

; 去掉里分号,方便以后重启。建议修改
;default value: none
; 下面的值最终目录是/usr/local/php/var/run/php-fpm.pid
; 开启后可以平滑重启php-fpm
pid = run/php-fpm.pid

; 设置错误日志的路径,可以默认值
; 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等级,可以默认值
; possible values: alert, error, warning, notice, debug
; default value: notice
log_level = notice

; 后台运行,默认yes,可以默认值
; default value: yes
;daemonize = yes

; 引入www.conf文件中的配置,可以默认值
include=/usr/local/php/etc/php-fpm.d/*.conf
Copy after login

4. Modification

vim /usr/local/php/etc/php.ini

The content is modified as follows:

; 设置用户和用户组,默认都是nobody。可以默认值
user = nginx
group = nginx

; 设置php监听
; 下面是默认值,不建议使用。可以默认值
listen = 127.0.0.1:9000
; 根据nginx.conf中的配置fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
;listen = /var/run/php-fpm/php-fpm.sock

######开启慢日志。可以默认值
slowlog = /var/log/php-fpm/$pool-slow.log
request_slowlog_timeout = 10s
Copy after login

4. php-fpm operation

/usr/local/php/sbin/php-fpm -t    # php-fpm检测配置文件是否正确
/usr/local/php/sbin/php-fpm     # php-fpm启动
kill -int `cat /usr/local/php/var/run/php-fpm.pid`   # php-fpm关闭
kill -usr2 `cat /usr/local/php/var/run/php-fpm.pid`   #php-fpm平滑重启
Copy after login

Install nginx

1. Unzip - enter the directory - generate the compiled file

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
Copy after login

2. Compile && Install

make
make install
Copy after login

Test /usr/ local/nginx/sbin/nginx -t

nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful #测试成功
Copy after login

3. Configuration file

1. Configure nginx.conf and execute vim /usr/local/nginx/conf/nginx.conf

The content is modified as follows

#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;
  #显示文件时间
  #autoindex_localtime on;
  include /www/conf/vhosts/*.conf;
}
Copy after login

2. Add website configuration file

vim /www/conf/vhosts/default.conf

File content As follows

server{
  listen 80;
  server_name localhost,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;
  }
}
Copy after login

4. Test configuration

Run /usr/local/nginx/sbin/nginx -t. If the test fails, return to check whether there are errors in the execution steps

5 , nginx operation

/usr/local/nginx/sbin/nginx -t     # 检测配置文件是否正确
/usr/local/nginx/sbin/nginx       # 启动
/usr/local/nginx/sbin/nginx -s stop   # 关闭
/usr/local/nginx/sbin/nginx -s reload  #平滑重启
Copy after login

The above is the detailed content of How to install PHP7.4 and Nginx on Centos. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:yisu.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template