LAMP(Linux, Apache, MySQL/MariaDB, PHP)环境搭建完成后,需要进行全面测试以确保各组件正常工作。以下是详细的测试步骤:
基本测试:
# 检查Apache服务状态
sudo systemctl status apache2 # Debian/Ubuntu
sudo systemctl status httpd # CentOS/RHEL
# 测试Apache是否能正常响应
curl -I http://localhost
预期结果: 应返回HTTP 200状态码和Apache版本信息。
配置文件测试:
# 检查Apache配置语法
sudo apachectl configtest
基本测试:
# 检查MySQL服务状态
sudo systemctl status mysql # 或 mariadb
# 登录MySQL
mysql -u root -p
数据库操作测试:
-- 创建测试数据库
CREATE DATABASE lamp_test;
USE lamp_test;
-- 创建测试表
CREATE TABLE test_table (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50));
-- 插入测试数据
INSERT INTO test_table (name) VALUES ('Test1'), ('Test2');
-- 查询数据
SELECT * FROM test_table;
-- 完成后删除测试数据库
DROP DATABASE lamp_test;
创建测试文件:
sudo nano /var/www/html/phpinfo.php
内容为:
<?php phpinfo(); ?>
测试PHP:
1. 浏览器访问 http://your_server_ip/phpinfo.php
2. 或命令行测试:php -r 'echo "PHP is working\n";'
预期结果: 应显示PHP配置信息页面或输出"PHP is working"。
创建测试文件:
sudo nano /var/www/html/dbtest.php
内容为:
<?php
$conn = new mysqli('localhost', 'root', 'your_password');
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
echo "Connected to MySQL successfully";
$conn->close();
?>
测试: 访问 http://your_server_ip/dbtest.php
创建简单的PHP应用测试:
sudo nano /var/www/html/testapp.php
内容为:
<?php
// 数据库连接
$conn = new mysqli('localhost', 'root', 'your_password', 'mysql');
// 查询测试
$result = $conn->query("SHOW TABLES");
echo "<h1>MySQL Tables:</h1>";
while ($row = $result->fetch_array()) {
echo $row[0]."<br>";
}
// PHP功能测试
echo "<h1>PHP Info:</h1>";
echo "PHP Version: ".phpversion()."<br>";
echo "Server Software: ".$_SERVER['SERVER_SOFTWARE']."<br>";
?>
检查默认页面是否已删除:
ls /var/www/html
应只包含你创建的文件
测试非标准端口访问:
nmap -sV your_server_ip
确保只有必要的端口(如80,443,22)开放
Apache基准测试:
ab -n 1000 -c 100 http://localhost/
MySQL基准测试:
mysqlslap --user=root --password --auto-generate-sql --verbose
Apache无法启动:
sudo netstat -tulnp | grep :80
sudo tail -f /var/log/apache2/error.log
PHP不执行:
AddType application/x-httpd-php .php
数据库连接失败:
sudo netstat -tulnp | grep mysql
通过以上测试步骤,你可以全面验证LAMP环境是否搭建成功并正常工作。