linux

Linux LNMP搭建指南:如何快速部署

小樊
46
2025-06-12 21:01:10
栏目: 智能运维

在Linux系统上快速部署LNMP(Linux, Nginx, MySQL, PHP)环境可以通过以下步骤实现。以下是一个详细的指南,帮助新手一步步搭建起自己的LNMP环境。

准备工作

  1. 选择操作系统:推荐使用Ubuntu或CentOS。
  2. 更新系统:确保系统是最新的。
    sudo apt update && sudo apt upgrade -y  # 对于Ubuntu/Debian
    sudo yum update  # 对于CentOS
    
  3. 安装必要的开发工具和依赖库
    sudo apt install build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev  # 对于Ubuntu/Debian
    sudo yum groupinstall "development tools"  # 对于CentOS
    sudo yum install zlib-devel pcre-devel openssl-devel  # 对于CentOS
    

安装Nginx

  1. 下载并解压源码包
    wget http://nginx.org/download/nginx-1.15.8.tar.gz
    tar -zxvf nginx-1.15.8.tar.gz -C /usr/local/src/
    cd /usr/local/src/nginx-1.15.8
    
  2. 编译安装Nginx
    ./configure --prefix=/usr/local/nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/tmp/nginx/client --http-proxy-temp-path=/var/tmp/nginx/proxy --http-fastcgi-temp-path=/var/tmp/nginx/fcgi --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi --http-scgi-temp-path=/var/tmp/nginx/scgi --user=nginx --group=nginx --with-pcre --with-http_v2_module --with-http_ssl_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_random_index_module --with-http_secure_link_module --with-http_stub_status_module --with-http_auth_request_module --with-mail --with-mail_ssl_module --with-file-aio --with-http_v2_module --with-threads --with-stream --with-stream_ssl_module
    make && make install
    
  3. 启动Nginx服务并设置开机自启
    sudo mkdir -p /var/tmp/nginx/client
    sudo chown -R nginx:nginx /usr/local/nginx
    sudo systemctl start nginx
    sudo systemctl enable nginx
    

安装MySQL

  1. 下载并解压源码包
    wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.39-linux-glibc2.12-x86_64.tar.xz
    tar -xvf mysql-8.0.39-linux-glibc2.12-x86_64.tar.xz -C /usr/local/ln -s /usr/local/ln/mysql-8.0.39-linux-glibc2.12-x86_64 /usr/local/ln/mysql
    cd /usr/local/ln/mysql
    
  2. 安装MySQL
    sudo chown -R root:root .
    sudo scripts/mysql_install_db --user=root --basedir=/usr/local/ln/mysql --datadir=/usr/local/ln/mysql/data
    sudo bin/mysqld_safe --user=root &
    
  3. 启动MySQL服务并设置开机自启
    sudo systemctl start mariadb
    sudo systemctl enable mariadb
    
  4. 安全配置
    sudo mysql_secure_installation
    

安装PHP

  1. 下载并解压源码包
    wget https://www.php.net/distributions/php-7.4.21.tar.gz
    tar -zxvf php-7.4.21.tar.gz -C /usr/local/php -d php-7.4.21
    cd /usr/local/php/php-7.4.21
    
  2. 编译安装PHP
    ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm --with-fpm-user=www-data --with-fpm-group=www-data --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd
    make && make install
    
  3. 配置PHP-FPM
    sudo cp /usr/local/php/etc/php-fpm.d/www.conf /usr/local/php/etc/php-fpm.d/www.conf.orig
    sudo nano /usr/local/php/etc/php-fpm.d/www.conf
    
    修改以下行:
    user = www-data
    group = www-data
    
  4. 启动PHP-FPM服务并设置开机自启
    sudo systemctl start php7.4-fpm
    sudo systemctl enable php7.4-fpm
    

配置Nginx支持PHP

  1. 编辑Nginx配置文件
    sudo nano /usr/local/nginx/conf/nginx.conf
    
    server 块中添加以下内容:
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.4-fpm.sock;
    }
    
  2. 测试Nginx配置并重启Nginx
    sudo nginx -t
    sudo systemctl restart nginx
    

验证安装

  1. 创建PHP测试文件
    echo "<?php phpinfo(); ?>" > /usr/local/nginx/html/info.php
    
  2. 访问测试: 在浏览器中访问服务器的IP地址,如果能够看到PHP的信息页面,说明LNMP环境已经搭建成功。

以上步骤提供了一个基本的LNMP环境搭建流程。如果在过程中遇到问题,建议查看相关服务的日志文件以获取更多信息。

0
看了该问题的人还看了