lnmp环境编译安装-支持多版本PHP

3 篇文章 0 订阅
2 篇文章 0 订阅

lnmp环境编译安装教程(支持多版本PHP:php5.6,php7,php8)

手把手带你安装lnmp环境。

安装nginx

目前最新稳定版本Nginx-1.20.1:

  1. 下载;

    wget http://nginx.org/download/nginx-1.20.1.tar.gz
    
  2. 解压nginx-1.20.1.tar.gz包并进入nginx-1.20.1;

     tar -zxvf nginx-1.20.1.tar.gz
     cd nginx-1.20.1
    
  3. 检查nginx安装软件依赖是否满足要求;

     ./configure
    
    如果有报错,就需要安装nginx依赖库
    
    yum -y install pcre* #为了让nginx支持rewrite
    yum -y install gcc-c++        
    yum -y install zlib*
    yum -y install openssl openssl-devel
    
  4. 执行安装;

    #安装目录及模块支持配置
    ./configure  --prefix=/usr/local/nginx  --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_addition_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_auth_request_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_slice_module --with-http_stub_status_module --with-mail --with-mail_ssl_module --with-stream --with-stream_ssl_module --with-stream_realip_module --with-stream_ssl_preread_module --with-threads --user=www --group=www
    #编译并安装
    make && make install
    
  5. 启动nginx;

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

    如果报错:nginx: [emerg] getpwnam(“www”) failed
    说明没有创建www这个用户,应该在服务器系统中添加www用户组和用户www

     groupadd -f www
     useradd -g www www
    

    ok可以启动nginx
    浏览器访问验证nginx启动是否成功
    出现下面welcome to nginx!页面说明nginx安装并启动成功
    nginx默认欢迎页面

  6. 至此nginx安装完成;

安装mysql

  1. 下载mysql5.7最新版

    wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.35.tar.gz
    
  2. 解压mysql-5.7.35.tar.gz并进入mysql-5.7.35

    tar -zxvf mysql-5.7.35.tar.gz
    cd mysql-5.7.35
    
  3. 安装mysql依赖的环境和工具

    yum install -y gcc c ncurses-devel cmake libaio bison gcc-c++
    
  4. 编译安装

    cmake  .  -DCMAKE_INSTALL_PREFIX=/usr/local/mysql/ \
    -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
    -DMYSQL_DATADIR=/data/mysql \
    -DSYSCONFDIR=/etc \
    -DMYSQL_USER=mysql \
    -DMYSQL_TCP_PORT=3306 \
    -DWITH_XTRADB_STORAGE_ENGINE=1 \
    -DWITH_INNOBASE_STORAGE_ENGINE=1 \
    -DWITH_PARTITION_STORAGE_ENGINE=1 \
    -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
    -DWITH_MYISAM_STORAGE_ENGINE=1 \
    -DWITH_READLINE=1 \
    -DENABLED_LOCAL_INFILE=1 \
    -DWITH_EXTRA_CHARSETS=1 \
    -DDEFAULT_CHARSET=utf8 \
    -DDEFAULT_COLLATION=utf8_general_ci \
    -DEXTRA_CHARSETS=all \
    -DWITH_BIG_TABLES=1 \
    -DWITH_DEBUG=0 \
    -DDOWNLOAD_BOOST=1 \
    -DWITH_BOOST=/home/jason/web_software/latest_soft/mysql-5.7.35/boost
    
    make && make install
    
    如果编译下载boost失败,请手动下载boost,然后解压到mysql安装包目录再执行cmake
    
    wget http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz --no-check-certificate
    tar zxvf boost_1_59_0.tar.gz -C mysql-5.7.35
    cd mysql-5.7.35
    mv boost_1_59_0 boost
    
  5. 配置前准备

    cd /usr/local/mysql
    cp support-files/mysql.server /etc/init.d/mysqld  #为了能在 service 上启动mysqld 服务
    chkconfig --add mysqld  # systemctl 里的服务 注册
    chkconfig --level 35 mysqld on # 打开
    mkdir mysql-files
    chown mysql:mysql mysql-files -R #确保 mysql 用户和mysql用户组已经创建 ,没有的要自行创建
    chmod 750 mysql-files -R
    
  6. 修改my.cnf 配置文件

    vi /etc/my.cnf
    [client]
    port=3306
    socket=/tmp/mysql.sock
    default-character-set=utf8
    user=mysql
    
    [mysqld]
    basedir=/usr/local/mysql
    datadir=/data/mysql
    socket=/tmp/mysql.sock
    # Disabling symbolic-links is recommended to prevent assorted security risks
    symbolic-links=0
    # Settings user and group are ignored when systemd is used.
    # If you need to run mysqld under a different user or group,
    # customize your systemd unit file for mariadb according to the
    # instructions in http://fedoraproject.org/wiki/Systemd
    
    default-time-zone=system
    character-set-server=utf8
    default-storage-engine=InnoDB
    user=mysql
    
    [mysqld_safe]
    log-error=/usr/local/mysql/mysql-files/logs/mariadb.log
    pid-file=/usr/local/mysql/mysql-files/logs/mariadb.pid
    
    #
    # include all files from the config directory
    #
    !includedir /etc/my.cnf.d
    
    
  7. 初始化mysql

    groupadd mysql
    useradd -g mysql -r mysql
    [root@localhost mysql]# bin/mysqld  --initialize --user=mysql --datadir=/data/mysql  --basedir=/usr/local/mysql
    
    2021-11-08T03:47:00.336747Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
    2021-11-08T03:47:00.387958Z 0 [ERROR] --initialize specified but the data directory has files in it. Aborting.
    2021-11-08T03:47:00.387994Z 0 [ERROR] Aborting
    
    [root@localhost mysql]# bin/mysqld  --initialize --user=mysql --datadir=/data/mysql  --basedir=/usr/local/mysql
    2021-11-08T03:50:13.601848Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
    2021-11-08T03:50:14.502545Z 0 [Warning] InnoDB: New log files created, LSN=45790
    2021-11-08T03:50:14.556754Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
    2021-11-08T03:50:14.619735Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: fb182ec3-4046-11ec-8c78-000c29bbdb11.
    2021-11-08T03:50:14.658725Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
    2021-11-08T03:50:14.861071Z 0 [Warning] A deprecated TLS version TLSv1 is enabled. Please use TLSv1.2 or higher.
    2021-11-08T03:50:14.861084Z 0 [Warning] A deprecated TLS version TLSv1.1 is enabled. Please use TLSv1.2 or higher.
    2021-11-08T03:50:14.861605Z 0 [Warning] CA certificate ca.pem is self signed.
    2021-11-08T03:50:14.912415Z 1 [Note] A temporary password is generated for root@localhost: zzNkhM(Xs4UG
    
    
  8. 执行成功,启动mysqld服务

    cd /usr/local/mysql/mysql-files/logs
    touch mariadb.log
    chown mysql:mysql mariadb.log
    [root@localhost ~]# service mysqld start
    Starting MySQL SUCCESS! 
    
  9. 创建软链

    ln -s /usr/local/mysql/bin/mysql /usr/bin/
    ln -s /usr/local/mysql/bin/mysqld /usr/bin/
    
  10. 登录修改密码

    [root@localhost ~]# mysql -uroot -p'zzNkhM(Xs4UG'
    mysql: [Warning] Using a password on the command line interface can be insecure.
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 2
    Server version: 5.7.35
    
    Copyright (c) 2000, 2021, Oracle and/or its affiliates.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
    Query OK, 0 rows affected (0.47 sec)
    mysql> flush privileges;
    Query OK, 0 rows affected (0.00 sec)
    

安装配置多版本php

安装php7

  1. 下载并解压php7

    wget https://www.php.net/distributions/php-7.4.25.tar.gz
    tar -zxvf php-7.4.25.tar.gz
    
  2. 安装php依赖库包

    yum -y install libxml2 
    yum -y install libxml2-devel 
    yum -y install openssl 
    yum -y install openssl-devel 
    yum -y install curl-devel 
    yum -y install libjpeg-devel 
    yum -y install libpng-devel 
    yum -y install freetype-devel
    yum -y install bzip2-devel
    yum -y install libmcrypt libmcrypt-devel
    yum -y install postgresql-devel
    yum -y install aspell-devel
    yum -y install readline-devel
    yum -y install libxslt-devel
    yum -y install net-snmp-devel
    yum -y install unixODBC-devel
    yum -y install libicu-devel
    yum -y install libc-client-devel
    yum -y install libXpm-devel
    yum -y install libvpx-devel
    yum -y install enchant-devel
    yum -y install openldap
    yum -y install openldap-devel
    yum -y install db4-devel
    yum -y install gmp-devel
    yum -y install sqlite-devel
    yum -y install mysql-devel
    
  3. 添加用户和组

    groupadd -r www && useradd -r -g www -s /sbin/nologin
    
  4. 配置及编译安装

cd php-7.4.25
#./configure      --prefix=/usr/local/php7    --with-config-file-path=/usr/local/php7/etc    --enable-fpm    --with-fpm-user=www    --with-fpm-group=www    --enable-inline-optimization    --disable-debug    --disable-rpath    --enable-shared    --enable-soap    --with-xmlrpc    --with-openssl    --with-mcrypt    --with-pcre-regex    --with-sqlite3    --with-zlib    --enable-bcmath    --with-iconv    --with-bz2    --enable-calendar    --with-curl    --with-cdb    --enable-dom    --enable-exif    --enable-fileinfo    --enable-filter     --with-pcre-dir    --enable-ftp    --with-gd    --with-openssl-dir    --with-jpeg-dir    --with-png-dir    --with-freetype-dir    --enable-gd-native-ttf    --enable-gd-jis-conv    --with-gettext    --with-gmp    --with-mhash    --enable-json    --enable-mbstring    --enable-mbregex    --enable-mbregex-backtrack    --with-libmbfl    --with-onig    --enable-pdo    --with-mysqli=mysqlnd    --with-pdo-mysql=mysqlnd    --with-zlib-dir    --with-pdo-sqlite    --with-readline    --enable-session    --enable-shmop    --enable-simplexml    --enable-sockets    --enable-sysvmsg    --enable-sysvsem    --enable-sysvshm    --enable-wddx    --with-libxml-dir    --with-xsl    --enable-zip    --enable-mysqlnd-compression-support    --with-pear    --enable-opcache
./configure --prefix=/usr/local/php7 --with-config-file-path=/usr/local/php7/etc --with-freetype --enable-gd --with-jpeg --with-gettext --with-gmp --with-mysqli --with-openssl --with-pdo-mysql --with-pear --with-xmlrpc --with-xsl --with-mhash --enable-fpm --with-fpm-user=www    --with-fpm-group=www --enable-bcmath --enable-mbstring --enable-sockets --enable-xml --enable-embed --enable-phpdbg --with-ldap --with-snmp --with-bz2 --enable-calendar --with-curl --enable-exif --enable-ftp --enable-pcntl --with-zlib --with-readline --enable-shmop
make && make install
如果./configure报错No package 'oniguruma' found
执行下面操作安装oniguruma
wget wget https://github.com/kkos/oniguruma/archive/refs/tags/v6.9.7.1.tar.gz -O oniguruma-6.9.7.1.tar.gz
tar -zxvf oniguruma-6.9.7.1.tar.gz
cd oniguruma-6.9.7.1/
./autogen.sh
./configure --prefix=/usr --libdir=/lib64  #64位的系统一定要标识  --libdir=/lib64
make && make install
如果出现 make: *** [sapi/cli/php] Error 1 的错误,通过继续执行 make ZEND_EXTRA_LIBS='-liconv' 命令解决
如果还报错/usr/bin/ld: cannot find -liconv
执行下面操作
 wget https://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.16.tar.gz --no-check-certificate
 tar -zxvf libiconv-1.16.tar.gz
 cd libiconv-1.16/
 ./configure --prefix=/usr/local
 make
 make install
 cd /usr/local/lib
 ln -s /usr/local/lib/libiconv.so /usr/lib
 ln -s /usr/local/lib/libiconv.so.2 /usr/lib/libiconv.so.2
如果报Cannot find ldap libraries in /usr/lib
执行下面操作
cp -frp /usr/lib64/libldap* /usr/lib/
如果报错/usr/bin/ld: ext/ldap/.libs/ldap.o: undefined reference to symbol 'ber_memfree',按如下操作
	./configure后
	vi Makefile
	找到 开头是 'EXTRA_LIBS' 这一行 在结尾加上 '-llber' 然后执行 make && make install

在这里插入图片描述
如果报错 undefined reference to `curl_mime_free’,需要更新一下最新curl

  wget https://curl.se/download/curl-7.79.1.tar.gz --no-check-certificate
  tar -zxvf curl-7.79.1.tar.gz
  cd curl-7.79.1/
  ./configure --with-openssl
  make
  make install
  curl --version
如果报make: *** [sapi/cli/php] 错误
vi Makefile
EXTRA_LIBS = ..... -lcrypt 在最后加上 -liconv,例如: EXTRA_LIBS = ..... -lcrypt -liconv 然后重新再次 make 

如果还是报错,尝试执行yum upgrade更新系统软件包

如果报 /ext/curl/interface.c undefined reference to `curl_mime_addpart'
执行yum remove curl-devel卸载curl-devel
make clean
重新编译安装PHP

至此PHP安装完成
配置文件

cd /usr/local/php7/etc
cp php-fpm.conf.default php-fpm.conf
cd /usr/local/php7/etc/php-fpm.d
cp www.conf.default www.conf
cp php-7.4.25/php.ini-development /usr/local/php7/etc/php.ini

创建软链

ln -s /usr/local/php7/bin/php /usr/bin/php7
配置nginx支持php7
整合nginx和php,让nginx调用php-fpm解析php脚本:
打开/usr/local/nginx/conf/nginx.conf配置文件
location ~ \.php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
            index          index.php index.htm;
        }

至此lnmp环境搭建完成
在这里插入图片描述

安装PHP5.6

  1. 下载最新php5.6版本
wget https://www.php.net/distributions/php-5.6.40.tar.gz
  1. 解压安装
tar -zxvf php-5.6.40.tar.gz
cd php-5.6.40
./configure --prefix=/usr/local/php56 --with-config-file-path=/usr/local/php56/etc --with-gettext --with-gmp --with-mysqli --with-openssl --with-pdo-mysql --with-pear --with-xmlrpc --with-xsl --with-mhash --enable-fpm --with-fpm-user=www    --with-fpm-group=www --enable-bcmath --enable-mbstring --enable-sockets --enable-xml --enable-embed --enable-phpdbg --with-ldap --with-snmp --with-bz2 --enable-calendar --with-curl --enable-exif --enable-ftp --enable-pcntl --with-zlib --with-readline --enable-shmop
make && make install

配置文件

cd /usr/local/php56/etc
cp php-fpm.conf.default php-fpm.conf
cp php-5.6.40/php.ini-development /usr/local/php56/etc/php.ini

创建软链

ln -s /usr/local/php56/bin/php /usr/bin/php56

打开/usr/local/php56/etc/php-fpm.conf修改监听端口为9001
在这里插入图片描述
启动php-fpm

cd /usr/local/php56/sbin
 ./php-fpm
配置nginx支持php5.6
整合nginx和php,让nginx调用php-fpm解析php脚本:
cd /usr/local/nginx/conf
mkdir vhost
cd vhost
touch local.php56.conf
vi local.php56.conf
#添加新的server配置
server
    {
        listen 80;
        #listen [::]:80;
        server_name local.php56.com;
        index index.html index.htm index.php default.html default.htm default.php;
        root  /home/wwwroot/local.php56.com;

        #error_page   404   /404.html;

        # Deny access to PHP files in specific directory
        #location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; }

        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
        {
            expires      30d;
        }

        location ~ .*\.(js|css)?$
        {
            expires      12h;
        }

        location ~ /.well-known {
            allow all;
        }

        location ~ /\.
        {
            deny all;
        }

		location ~ \.php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9001;	# 这里是重点
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
            index          index.php index.htm;
        }

        access_log  /home/wwwrootlog/local.php56.com.log;
    }
#保存退出
vi /usr/local/nginx/conf/nginx.conf
#在最后加上
include vhost/*.conf;

在这里插入图片描述

日志文件和项目目录没有的自行创建但写入权限不要忘记
然后重启nginx

打开本地电脑(lnmp环境是在虚拟机<192.168.4.181>中安装的,真实服务器不用这步只要绑定域名即可)hosts文件添加192.168.4.181 local.php56.com
至此php5.6安装完成
在这里插入图片描述

安装PHP8

  1. 下载最新php8.0.12版本
wget https://www.php.net/distributions/php-8.0.12.tar.gz
  1. 解压安装
tar -zxvf php-8.0.12.tar.gz
cd php-8.0.12
./configure --prefix=/usr/local/php8 --with-config-file-path=/usr/local/php8/etc --with-freetype --enable-gd --with-jpeg --with-gettext --with-gmp --with-mysqli --with-openssl --with-pdo-mysql --with-pear --with-xsl --with-mhash --enable-fpm --with-fpm-user=www    --with-fpm-group=www --enable-bcmath --enable-mbstring --enable-sockets --enable-xml --enable-embed --enable-phpdbg --with-ldap --with-snmp --with-bz2 --enable-calendar --with-curl --enable-exif --enable-ftp --enable-pcntl --with-zlib --with-readline --enable-shmop
make && make install

如果./configure时报错configure: error: Package requirements (libcurl >= 7.29.0) were not met: No package ‘libcurl’ found执行下面操作然后重新./configure即可

[root@gitlab php-8.0.11]# yum search libcurl
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.cn99.com
 * extras: mirrors.cn99.com
 * updates: mirrors.cn99.com
======================================================== N/S matched: libcurl =========================================================
libcurl-devel.i686 : Files needed for building applications with libcurl
libcurl-devel.x86_64 : Files needed for building applications with libcurl
libcurl.i686 : A library for getting files from web servers
libcurl.x86_64 : A library for getting files from web servers
perl-WWW-Curl.x86_64 : Perl extension interface for libcurl
python-pycurl.x86_64 : A Python interface to libcurl

  名称和简介匹配 only,使用“search all”试试。
[root@gitlab php-8.0.11]# yum install -y libcurl-devel.x86_64

如果报错configure: error: iconv does not support errno,需要手动编译安装libiconv

wget https://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.16.tar.gz --no-check-certificate
tar -zxvf libiconv-1.16.tar.gz
cd libiconv-1.16
./configure --prefix=/usr/local/libiconv
make && make install

然后PHP8在./configure时要带上 --with-iconv=/usr/local/libiconv

./configure --prefix=/usr/local/php8 --with-config-file-path=/usr/local/php8/etc --with-freetype --enable-gd --with-jpeg --with-gettext --with-gmp --with-mysqli --with-openssl --with-pdo-mysql --with-pear --with-xsl --with-mhash --enable-fpm --with-fpm-user=www    --with-fpm-group=www --enable-bcmath --enable-mbstring --enable-sockets --enable-xml --enable-embed --enable-phpdbg --with-ldap --with-snmp --with-bz2 --enable-calendar --with-curl --enable-exif --enable-ftp --enable-pcntl --with-zlib --with-readline --enable-shmop --with-iconv=/usr/local/libiconv
make && make install

配置文件

cd /usr/local/php8/etc
cp php-fpm.conf.default php-fpm.conf
cd /usr/local/php8/etc/php-fpm.d
cp www.conf.default www.conf
cp php-8.0.12/php.ini-development /usr/local/php8/etc/php.ini

创建软链

ln -s /usr/local/php8/bin/php /usr/bin/php8

打开/usr/local/php8/etc/php-fpm.d/www.conf修改监听端口为9002 (注意php7 php8和php5.6的监听端口配置文件有所不一样)
在这里插入图片描述

启动php-fpm

cd /usr/local/php8/sbin
 ./php-fpm
配置nginx支持php8
整合nginx和php,让nginx调用php-fpm解析php脚本:
cd /usr/local/nginx/conf
cd vhost
touch local.php8.conf
vi local.php8.conf
#添加新的server配置
server
    {
        listen 80;
        #listen [::]:80;
        server_name local.php8.com;
        index index.html index.htm index.php default.html default.htm default.php;
        root  /home/wwwroot/local.php8.com;

        #error_page   404   /404.html;

        # Deny access to PHP files in specific directory
        #location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; }

        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
        {
            expires      30d;
        }

        location ~ .*\.(js|css)?$
        {
            expires      12h;
        }

        location ~ /.well-known {
            allow all;
        }

        location ~ /\.
        {
            deny all;
        }

		location ~ \.php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9002;	# 这里是重点
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
            index          index.php index.htm;
        }

        access_log  /home/wwwrootlog/local.php8.com.log;
    }
 #保存退出

日志文件和项目目录没有的自行创建但写入权限不要忘记
然后重启nginx

打开本地电脑(lnmp环境是在虚拟机<192.168.4.181>中安装的,真实服务器不用这步只要绑定域名即可)hosts文件添加192.168.4.181 local.php8.com
至此php8安装完成
在这里插入图片描述

配置nginx和php-fpm用sock套接字连接

php5.3之后的版本,php-fpm.conf(php5)/www.conf(php7或更高版本)里的listen的默认配置是127.0.0.1:9000且不会默认生成php-fpm.sock,
所以如果需要nginx里的配置有php-fpm.sock的话,需要将listen的地址配置成和nginx的配置文件一致,
同时保证这个路径已经存在,这样在启动./php-fpm的时候就会在对应路径上自动生成php-fpm.sock
cd /usr/local/php7/etc/php-fpm.d/
vi www.conf
#添加 listen = /usr/local/php7/tmp/php-fpm.sock

在这里插入图片描述

cd /usr/local/nginx/conf/vhost/
vi local.php7.conf
#添加 fastcig_pass    unix:/usr/local/php7/tmp/php-fpm.sock;

在这里插入图片描述

重启php-fpm和nginx

在这里插入图片描述
如果页面访问报502,一般是由于php.ini的memory_limit 过小导致的,修改memory_limit大小就可以了
在这里插入图片描述
在这里插入图片描述
如果继续报502,请查看nginx报错日志(error.log)

在这里插入图片描述
说明nginx的访问权限不够,可以把nginx配置文件的user改为root试一下(或者给php-fpm.sock授予和nginx一样的身份和权限)

vi nginx.conf

在这里插入图片描述
重启nginx

cd /usr/local/nginx/sbin/
./nginx -s reload

搞定
在这里插入图片描述

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
以下是一个基本的 LNMP 编译安装脚本示例,适用于 CentOS 7: ```bash #!/bin/bash # 安装必要的依赖 yum -y install epel-release yum -y install wget gcc pcre-devel openssl-devel # 下载并编译安装 Nginx NGINX_VERSION=1.19.6 wget http://nginx.org/download/nginx-${NGINX_VERSION}.tar.gz tar -zxvf nginx-${NGINX_VERSION}.tar.gz cd nginx-${NGINX_VERSION} ./configure --prefix=/usr/local/nginx --with-http_ssl_module make && make install # 下载并编译安装 MariaDB MARIADB_VERSION=10.5.8 wget https://downloads.mariadb.org/f/mariadb-${MARIADB_VERSION}/source/mariadb-${MARIADB_VERSION}.tar.gz tar -zxvf mariadb-${MARIADB_VERSION}.tar.gz cd mariadb-${MARIADB_VERSION} cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mariadb -DENABLE_SSL=1 make && make install # 下载并编译安装 PHP PHP_VERSION=7.4.15 wget https://www.php.net/distributions/php-${PHP_VERSION}.tar.gz tar -zxvf php-${PHP_VERSION}.tar.gz cd php-${PHP_VERSION} ./configure --prefix=/usr/local/php --with-mysqli=/usr/local/mariadb/bin/mysql_config --with-openssl --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx --enable-mbstring --enable-sockets --enable-opcache --with-zlib --with-curl --with-gd --with-jpeg-dir --with-png-dir make && make install # 配置 Nginx、MariaDB 和 PHP # 这里省略具体的配置步骤,可以根据需要自行配置 # 启动服务 /usr/local/nginx/sbin/nginx /usr/local/mariadb/bin/mysqld_safe & /usr/local/php/sbin/php-fpm # 设置开机自启 echo "/usr/local/nginx/sbin/nginx" >> /etc/rc.local echo "/usr/local/mariadb/bin/mysqld_safe &" >> /etc/rc.local echo "/usr/local/php/sbin/php-fpm" >> /etc/rc.local chmod +x /etc/rc.d/rc.local # 完成安装 echo "LNMP 安装成功!" ``` 请注意,此脚本仅用于示例目的,实际使用时可能需要根据自己的需求进行适当的修改和配置。另外,建议在执行脚本之前备份重要的数据。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

大叔是90后大叔

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

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

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

打赏作者

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

抵扣说明:

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

余额充值