温馨提示×

ubuntu lamp网站怎么部署

小樊
49
2025-10-03 13:23:13
栏目: 云计算

Ubuntu LAMP网站部署完整步骤

一、准备工作

在开始部署前,确保你的Ubuntu系统已更新到最新版本,以避免软件包冲突:

sudo apt update && sudo apt upgrade -y

二、安装Apache Web服务器

Apache是LAMP架构中的核心Web服务器,负责处理HTTP请求并返回网页内容。

  1. 安装Apache
    sudo apt install apache2 -y
    
  2. 启动并设置开机自启
    sudo systemctl start apache2
    sudo systemctl enable apache2
    
  3. 验证安装
    打开浏览器,访问http://your_server_ip(将your_server_ip替换为服务器实际IP),若看到Apache默认欢迎页面(包含“Apache2 Ubuntu Default Page”字样),则说明安装成功。

三、安装MySQL数据库

MySQL用于存储网站数据(如用户信息、文章内容等),是动态网站的核心数据层。

  1. 安装MySQL Server
    sudo apt install mysql-server -y
    
  2. 运行安全配置脚本
    执行以下命令设置root密码、删除匿名用户、禁止root远程登录等,提升数据库安全性:
    sudo mysql_secure_installation
    
    按提示输入root密码(建议使用强密码,包含大小写字母、数字和符号),并根据需要选择“Y”确认其他安全选项。
  3. 登录MySQL
    安装完成后,使用root账户登录MySQL:
    sudo mysql -u root -p
    
    输入密码后进入MySQL命令行界面(显示mysql>提示符)。

四、安装PHP及常用扩展

PHP是服务器端脚本语言,用于处理动态内容(如表单提交、数据库交互)。LAMP中的“P”即指PHP。

  1. 安装PHP及扩展
    安装PHP核心及常用扩展(php-mysql用于连接MySQL数据库,php-curl用于网络请求,php-gd用于图片处理等):
    sudo apt install php libapache2-mod-php php-mysql php-curl php-gd php-mbstring php-xml php-zip -y
    

    注:libapache2-mod-php是Apache与PHP的连接器,确保Apache能解析PHP文件。

  2. 重启Apache
    安装完成后,重启Apache以加载PHP模块:
    sudo systemctl restart apache2
    
  3. 验证PHP安装
    在Apache默认网站目录(/var/www/html)下创建info.php文件:
    sudo nano /var/www/html/info.php
    
    输入以下内容并保存(Ctrl+OEnterCtrl+X):
    <?php phpinfo(); ?>
    
    打开浏览器访问http://your_server_ip/info.php,若看到PHP配置信息页面(包含PHP版本、扩展列表等),则说明PHP安装成功。

五、配置虚拟主机(可选,多网站部署必备)

若需要托管多个网站(如example.comtest.com),需配置虚拟主机。以下以example.com为例:

  1. 创建网站目录
    为网站创建专用目录(如/var/www/example.com)并设置权限:
    sudo mkdir -p /var/www/example.com/public_html
    sudo chown -R $USER:$USER /var/www/example.com/public_html
    sudo chmod -R 755 /var/www/example.com
    
  2. 创建虚拟主机配置文件
    /etc/apache2/sites-available/目录下创建新配置文件(如example.com.conf):
    sudo nano /etc/apache2/sites-available/example.com.conf
    
    输入以下内容(替换example.com为你的域名,/var/www/example.com/public_html为网站根目录):
    <VirtualHost *:80>
        ServerAdmin webmaster@example.com
        ServerName example.com
        ServerAlias www.example.com
        DocumentRoot /var/www/example.com/public_html
        ErrorLog ${APACHE_LOG_DIR}/example.com_error.log
        CustomLog ${APACHE_LOG_DIR}/example.com_access.log combined
    </VirtualHost>
    
  3. 启用虚拟主机及配置
    启用新虚拟主机并禁用默认站点(000-default.conf):
    sudo a2ensite example.com.conf
    sudo a2dissite 000-default.conf
    sudo systemctl reload apache2
    
  4. 测试虚拟主机
    将域名解析到服务器IP(通过DNS设置),然后在浏览器访问http://example.com,若看到网站根目录下的默认页面(或你上传的文件),则说明虚拟主机配置成功。

六、部署网站文件

将你的网站文件(如HTML、CSS、PHP文件)上传到网站根目录:

  • 默认网站根目录(未配置虚拟主机时):/var/www/html
  • 虚拟主机网站根目录(如上述example.com):/var/www/example.com/public_html

上传方式可选择FTP(如FileZilla)、SCP(如scp -r local_folder user@your_server_ip:/var/www/example.com/public_html)或SFTP。

七、配置MySQL数据库(网站数据存储)

  1. 登录MySQL

    sudo mysql -u root -p
    
  2. 创建数据库
    为网站创建专用数据库(如example_db):

    CREATE DATABASE example_db;
    
  3. 创建数据库用户并授权
    创建一个仅能访问该数据库的用户(如example_user),并设置密码(如StrongPassword123):

    CREATE USER 'example_user'@'localhost' IDENTIFIED BY 'StrongPassword123';
    GRANT ALL PRIVILEGES ON example_db.* TO 'example_user'@'localhost';
    FLUSH PRIVILEGES;
    
  4. 退出MySQL

    EXIT;
    
  5. 配置网站连接数据库
    在网站代码中(如config.php),添加以下内容(替换为你的数据库信息):

    <?php
    $servername = "localhost";
    $username = "example_user";
    $password = "StrongPassword123";
    $dbname = "example_db";
    
    // 创建连接
    $conn = new mysqli($servername, $username, $password, $dbname);
    
    // 检查连接
    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    }
    echo "Connected successfully";
    ?>
    

    访问该文件(如http://example.com/config.php),若显示“Connected successfully”,则说明数据库连接成功。

八、测试网站

  1. 测试静态页面
    在网站根目录下创建index.html文件(如/var/www/example.com/public_html/index.html),内容如下:
    <!DOCTYPE html>
    <html>
    <head>
        <title>Welcome to My Website</title>
    </head>
    <body>
        <h1>Hello, World!</h1>
    </body>
    </html>
    
    访问http://example.com,若看到“Hello, World!”标题,则说明静态页面部署成功。
  2. 测试动态页面
    创建index.php文件(如/var/www/example.com/public_html/index.php),内容如下:
    <?php
    echo "Hello, PHP!";
    ?>
    
    访问http://example.com/index.php,若看到“Hello, PHP!”,则说明动态页面部署成功。

九、常见问题排查

  • 无法访问网站
    检查Apache服务是否运行(sudo systemctl status apache2),防火墙是否允许HTTP(端口80)流量(sudo ufw allow 'Apache')。
  • PHP文件无法解析
    确保已安装libapache2-mod-php模块,且Apache已重启(sudo systemctl restart apache2)。
  • 数据库连接失败
    检查数据库用户名、密码是否正确,数据库是否存在,以及用户是否有访问权限。

按照以上步骤操作,即可在Ubuntu系统上成功部署LAMP环境并运行网站。

0