当前位置: 首页 > article >正文

如何编译安装LNMP环境

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


http://www.kler.cn/a/388957.html

相关文章:

  • 【图像压缩感知】论文阅读:Self-supervised Scalable Deep Compressed Sensing
  • Android OpenGL ES详解——立方体贴图
  • 基于迭代重加权最小二乘法的算法及例程
  • 数据结构与算法-前缀和数组
  • Node.Js+Knex+MySQL增删改查的简单示例(Typescript)
  • Chromium 中sqlite数据库操作演示c++
  • 论文阅读:人工智能赋能源网荷储协同互动的应用及展望
  • ZISUOJ 2024算法基础公选课练习二
  • WAL日志
  • 逐行加载 HTML 内容并实时显示效果:使用 wxPython 的实现
  • c++中的变量与常量
  • 绿色未来的关键:先进氢气压力容器技术取得重大进展
  • PHP API为什么要使用多种提交方式
  • Linux的基本指令(一)
  • 数仓工具—Hive语法之窗口函数中的order by
  • mybatisgenerator生成mapper时报错
  • Chapter1:python数据结构与算法
  • 解耦与模块化:鸿蒙平台上的服务注册与查找机制
  • 【Ubuntu】ubuntu 22.04 设置 Xorg 弃用 Wayland
  • webstorm 设置总结
  • Excel和微软小冰的结合应用
  • 7天用Go从零实现分布式缓存GeeCache(学习)(2)
  • MATLAB双坐标轴的figure图中第2个坐标轴怎么调整大小?
  • 数据结构 ——— 查找链式二叉树中值为X的节点
  • RabbitMQ的DLX(Dead-Letter-Exchange 死信交换机,死信交换器,死信邮箱)(重要)
  • OpenCV通过指针裁剪图像