ubuntu

如何用Ubuntu实现LNMP自动化部署

小樊
47
2025-06-15 02:51:11
栏目: 智能运维

在Ubuntu上实现LNMP(Linux, Nginx, MySQL, PHP)自动化部署可以通过以下步骤完成。LNMP是一种流行的网站服务器架构,适用于部署各种Web应用程序。以下是一个详细的步骤指南,帮助你实现LNMP的自动化部署。

准备工作

  1. 更新系统: 确保你的Ubuntu系统已更新至最新版本。

    sudo apt update
    sudo apt upgrade -y
    
  2. 安装必要的依赖: 安装编译工具和库文件,例如gccmakepcre等。

    sudo apt install -y build-essential libpcre3 libpcre3-dev openssl libssl-dev
    

下载并解压LNMP一键安装包

LNMP官网下载最新的一键安装包,并解压到指定目录。

wget http://soft.vpser.net/lnmp/lnmp2.1.tar.gz
sudo tar -xzf lnmp2.1.tar.gz -C /usr/local/
cd /usr/local/lnmp

执行安装脚本

进入解压后的目录,执行安装脚本。安装过程中会提示你选择安装的组件,例如MySQL、PHP版本等。

sudo ./install.sh lnmp

安装过程

安装完成

安装完成后,会提示你安装成功,并给出相关的配置信息。以下是一些后续操作:

配置MySQL root密码

sudo mysql_secure_installation

按照提示完成MySQL的配置,例如设置强密码、删除匿名用户、禁止远程root登录等。

配置Nginx

编辑Nginx的默认配置文件以支持PHP。

sudo nano /etc/nginx/sites-available/default

server块中添加以下内容:

server {
    listen 80;
    server_name localhost;
    root /usr/share/nginx/html;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # 根据实际PHP版本调整
    }
}

保存并关闭文件后,重新加载Nginx配置。

sudo systemctl reload nginx

测试安装结果

/var/www/html目录下创建一个名为info.php的文件,添加以下内容:

<?php phpinfo(); ?>

保存并退出,然后在浏览器中访问服务器的IP地址或域名,加上/info.php路径,例如:

http://your_server_ip/info.php

如果能够正常显示PHP信息,则说明LNMP环境安装成功。

自动化部署脚本示例

为了简化部署过程,可以编写一个Shell脚本来自动化上述步骤。以下是一个简化的示例脚本:

#!/bin/bash

# 更新系统包列表
sudo apt update

# 安装Nginx
sudo apt install -y nginx
sudo systemctl start nginx
sudo systemctl enable nginx

# 安装MySQL
sudo apt install -y mysql-server
sudo mysql_secure_installation
sudo systemctl start mysql
sudo systemctl enable mysql

# 安装PHP及其常用扩展
sudo apt install -y php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-pear php-bcmath
sudo systemctl restart php7.4-fpm

# 配置Nginx以支持PHP
sudo sed -i 's/^server_tokens off;/server_tokens prod;/' /etc/nginx/nginx.conf
sudo sed -i 's/^;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/' /etc/php/7.4/fpm/php.ini

# 创建一个简单的PHP测试文件
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php

# 重启Nginx以应用配置
sudo systemctl restart nginx

echo "LNMP环境部署完成!"

将上述脚本保存为deploy_lnmp.sh,并赋予其执行权限:

chmod +x deploy_lnmp.sh

然后运行脚本:

sudo ./deploy_lnmp.sh

通过以上步骤,你可以在Ubuntu上成功实现LNMP的自动化部署。希望这些信息对你有所帮助。

0
看了该问题的人还看了