温馨提示×

debian怎么用php建站

小樊
42
2026-10-16 19:23:56
栏目: 云计算

在 Debian 上用 PHP 建站,通常步骤是:安装 Web 服务器 + PHP + 数据库(可选)→ 配置站点 → 部署代码。下面给你一套最常用、最实用的流程(以 Debian 11/12 + Apache + PHP 为例,也补充 Nginx 方式)。


一、更新系统

sudo apt update
sudo apt upgrade -y

二、安装 Web 服务器和 PHP

方案 1:Apache + PHP(推荐新手)

sudo apt install apache2 php libapache2-mod-php php-mysql -y

安装完成后:

sudo systemctl enable apache2
sudo systemctl start apache2

浏览器访问:

http://服务器IP

看到 Apache 默认页说明成功。


方案 2:Nginx + PHP(性能更好)

sudo apt install nginx php-fpm php-mysql -y

启动 Nginx:

sudo systemctl enable nginx
sudo systemctl start nginx

三、测试 PHP 是否正常工作

sudo nano /var/www/html/info.php

写入:

<?php
phpinfo();

访问:

http://服务器IP/info.php

能看到 PHP 信息页就 OK(测试完建议删除)。


四、部署你的 PHP 网站

1. 网站目录

默认目录:

/var/www/html

你可以新建站点目录:

sudo mkdir -p /var/www/my-site
sudo chown -R www-data:www-data /var/www/my-site

2. 放入 PHP 文件

例如:

/var/www/my-site/index.php

五、配置虚拟主机(推荐)

Apache 示例

sudo nano /etc/apache2/sites-available/my-site.conf

内容:

<VirtualHost *:80>
    ServerName example.com
    DocumentRoot /var/www/my-site

    <Directory /var/www/my-site>
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

启用:

sudo a2ensite my-site.conf
sudo a2enmod rewrite
sudo systemctl restart apache2

Nginx 示例

sudo nano /etc/nginx/sites-available/my-site
server {
    listen 80;
    server_name example.com;
    root /var/www/my-site;

    index index.php index.html;

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php-fpm.sock;
    }
}

启用:

sudo ln -s /etc/nginx/sites-available/my-site /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

六、数据库(可选,建动态站必用)

sudo apt install mariadb-server -y
sudo mysql_secure_installation

创建数据库:

CREATE DATABASE testdb;
CREATE USER 'testuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON testdb.* TO 'testuser'@'localhost';
FLUSH PRIVILEGES;

PHP 连接示例:

<?php
$conn = new mysqli("localhost","testuser","password","testdb");
if ($conn->connect_error) die("连接失败");
echo "数据库连接成功";

七、常见问题

1. 权限问题

sudo chown -R www-data:www-data /var/www/my-site
sudo chmod -R 755 /var/www/my-site

2. 防火墙

sudo ufw allow 80
sudo ufw allow 22

3. 用框架(Laravel 等)

需要:

sudo apt install php-cli php-mbstring php-xml php-curl composer

八、总结最小建站流程

apt install apache2 php
→ 放 php 文件到 /var/www/html
→ 浏览器访问

如果你愿意,我可以:

  • 教你 用 Laravel / ThinkPHP 建站
  • 教你 配置 HTTPS(Let’s Encrypt)
  • 给你一个 完整 PHP 小项目示例

你现在是纯学习 / 做博客 / 做后台系统?

0 踩