阿里云轻量应用服务器怎么配置PHP和MySQL?

我来为您详细介绍在阿里云轻量应用服务器上配置PHP和MySQL的完整步骤:

一、准备工作

  1. 登录服务器

    ssh root@你的服务器IP
  2. 更新系统包

    apt update && apt upgrade -y  # Ubuntu/Debian
    # 或
    yum update -y                 # CentOS

二、安装配置MySQL

Ubuntu/Debian系统:

# 安装MySQL
apt install mysql-server -y

# 启动并设置开机自启
systemctl start mysql
systemctl enable mysql

# 安全配置(设置root密码等)
mysql_secure_installation

CentOS系统:

# 安装MySQL
yum install mysql-server -y

# 启动并设置开机自启
systemctl start mysqld
systemctl enable mysqld

# 查看临时密码
grep 'temporary password' /var/log/mysqld.log

# 安全配置
mysql_secure_installation

三、安装配置PHP

1. 安装PHP及常用扩展

# Ubuntu/Debian
apt install php php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip -y

# CentOS
yum install php php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip -y

2. 配置PHP-FPM

# 编辑PHP-FPM配置
nano /etc/php/7.x/fpm/php.ini  # 版本号可能不同

# 修改以下参数(按需调整):
memory_limit = 256M
upload_max_filesize = 64M
post_max_size = 64M
date.timezone = Asia/Shanghai

# 重启PHP-FPM
systemctl restart php7.x-fpm
systemctl enable php7.x-fpm

四、安装配置Web服务器

方案A:使用Nginx(推荐)

# 安装Nginx
apt install nginx -y  # Ubuntu/Debian
yum install nginx -y  # CentOS

# 配置站点
nano /etc/nginx/sites-available/default

添加以下配置:

server {
    listen 80;
    server_name your_domain.com;
    root /var/www/html;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ .php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.x-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

方案B:使用Apache

# 安装Apache
apt install apache2 -y  # Ubuntu/Debian
yum install httpd -y    # CentOS

# 安装PHP模块
apt install libapache2-mod-php -y  # Ubuntu/Debian
yum install php -y                 # CentOS

# 重启Apache
systemctl restart apache2  # Ubuntu/Debian
systemctl restart httpd    # CentOS

五、创建测试文件

# 创建PHP测试文件
echo "<?php phpinfo(); ?>" > /var/www/html/info.php

# 创建MySQL连接测试文件
cat > /var/www/html/dbtest.php << 'EOF'
<?php
$servername = "localhost";
$username = "root";
$password = "你的密码";

// 创建连接
$conn = new mysqli($servername, $username, $password);

// 检测连接
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}
echo "MySQL连接成功!";
?>
EOF

六、安全配置

  1. 配置防火墙
    
    # 开放端口
    ufw allow 80/tcp    # Ubuntu
    ufw allow 443/tcp
    ufw allow 22/tcp

或使用firewalld(CentOS)

firewall-cmd –permanent –add-service=http
firewall-cmd –permanent –add-service=https
firewall-cmd –reload


2. **MySQL创建新用户(推荐)**
```sql
CREATE USER 'username'@'localhost' IDENTIFIED BY 'strong_password';
GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'localhost';
FLUSH PRIVILEGES;

七、一键安装方案(宝塔面板)

如果觉得手动配置复杂,可以使用宝塔面板:

# CentOS安装命令
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

# Ubuntu/Debian安装命令
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh

安装后通过面板可视化安装PHP、MySQL等组件。

八、验证安装

  1. 访问 http://服务器IP/info.php 查看PHP信息
  2. 访问 http://服务器IP/dbtest.php 测试数据库连接

注意事项

  1. 阿里云控制台:记得在轻量应用服务器控制台开放80、443端口
  2. 性能优化:根据服务器配置调整PHP和MySQL参数
  3. 定期更新:保持系统和软件更新
  4. 备份数据:定期备份网站和数据库

常见问题解决

  1. 502 Bad Gateway:检查PHP-FPM是否运行
  2. 数据库无法连接:检查MySQL服务状态和用户权限
  3. 权限问题:确保Web目录有正确权限
    chown -R www-data:www-data /var/www/html  # Ubuntu
    chown -R apache:apache /var/www/html      # CentOS

需要更详细的某个步骤或有特定需求,请告诉我!

云服务器