LNMP 是 Linux、Nginx、MySQL 和 PHP 的组合,是一种流行的 Web 服务环境。以下是如何在一个典型的 Linux 系统(如 Ubuntu 或 CentOS)上编译安装 LNMP 环境的详细步骤:

1. 准备工作

确保你的系统是最新的,并安装一些必要的工具和库。

# 对于 Ubuntu/Debian
sudo apt update
sudo apt install build-essential libssl-dev libpcre3 libpcre3-dev zlib1g-dev unzip

# 对于 CentOS/RHEL
sudo yum update
sudo yum groupinstall "Development Tools"
sudo yum install pcre-devel zlib-devel openssl-devel wget

2. 安装 Nginx

  1. 下载 Nginx 源码

    cd /usr/local/src
    wget http://nginx.org/download/nginx-1.22.0.tar.gz # 请根据需要更改版本号
    tar -zxvf nginx-1.22.0.tar.gz
    cd nginx-1.22.0
    
  2. 编译和安装

    ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-pcre
    make && sudo make install
    
  3. 启动 Nginx

    sudo /usr/local/nginx/sbin/nginx 
    
  4. 检查是否正常运行

    在浏览器中访问 http://your_server_ip/,应该看到 Nginx 的欢迎页面。

3. 安装 MySQL

  1. 下载 MySQL 源码

    cd /usr/local/src 
    wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.x.tar.gz # 请根据需要更改版本号 
    tar -zxvf mysql-8.0.x.tar.gz 
    cd mysql-8.0.x/
    
  2. 创建用户和目录

    sudo useradd -r -s /bin/false mysql 
    mkdir /data/mysql 
    chown mysql:mysql /data/mysql 
    
  3. 编译和安装

    cmake . -DDOWNLOAD_BOOST=1 -DWITH_BOOST=./boost/ \
             -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
             -DMYSQL_DATADIR=/data/mysql/data \
             -DDEFAULT_CHARSET=utf8mb4 \
             -DDEFAULT_COLLATION=utf8mb4_general_ci 
    
    make && sudo make install 
    
  4. 初始化数据库并启动 MySQL

    sudo cp support-files/my-default.cnf /etc/my.cnf  
    sudo bin/mysqld --initialize-insecure --user=mysql --datadir=/data/mysql/data  
    
    sudo cp support-files/mysql.server /etc/init.d/mysql  
    sudo service mysql start 
    
  5. 设置 root 密码并登录 MySQL

    /usr/local/mysql/bin/mysql_secure_installation  
    
     # 按照提示设置密码并进行安全配置。
     
     # 登录:
     /usr/local/mysql/bin/mysql -u root -p  
    

4. 安装 PHP

  1. 下载 PHP 源码

    cd /usr/local/src   
    wget https://www.php.net/distributions/php-8.x.x.tar.gz # 请根据需要更改版本号    
    tar -zxvf php-8.x.x.tar.gz    
    cd php-8.x.x    
    
  2. 编译和安装 PHP-FPM 与必要模块:

./configure --prefix=/usr/local/php \
            --with-config-file-path=/usr/local/php \
            --enable-fpm \
            --with-mysqli=/usr/local/mysql/bin/mysqli_config \
            --with-pdo-mysql=mysqlnd \            
            --enable-mbstring \            
            --with-openssl   

make && sudo make install  

# 启动 php-fpm:
sudo cp sapi/fpm/php-fpm.conf /usr/local/php/etc/  
sudo cp sapi/fpm/www.conf.in  sapi/fpm/www.conf  

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

5. 配置 Nginx 支持 PHP

修改 /usr/local/nginx/conf/nginx.conf 文件,在 server 块中添加如下配置,以支持 .php 文件。

location ~ \.(php)$ {     
        include fastcgi_params;    
        fastcgi_pass 127.0.0.1:9000;     
        fastcgi_index index.php;     
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;      
}      

index index.html index.htm index.php;          

重启 Nginx。

sudo /usr/local/nginx/sbin/nginx -s reload      

6. 测试 LNMP 环境

/var/www/html 下创建一个 info.php 文件,内容如下:

<?php phpinfo(); ?>      

然后在浏览器中访问 http://your_server_ip/info.php,如果看到 PHP 信息页面,则表示 LNMP 环境成功搭建完成!

资料参考:https://github.com/0voice

11-08 06:56