VPS 相當於獨享服務器,需自行部署 Web 服務、數據庫、PHP、FTP 等。本文基於 CentOS 7(適用 6/8/Stream),記錄標準化安裝流程,生產環境可直接參考。
# 以 root 登錄 ssh root@your_server_ip # 更新系統 yum update -y # 安裝常用工具 yum install -y vim wget curl net-tools lsof unzip git
yum install -y httpd httpd-devel systemctl start httpd systemctl enable httpd # 驗證:瀏覽器訪問 https://IP 出現 Apache 測試頁 # 默認文檔根目錄:/var/www/html
yum install -y mariadb-server mariadb-devel systemctl start mariadb systemctl enable mariadb # 安全初始化 mysql_secure_installation # 按提示:設置 root 密碼、移除匿名用戶、禁止 root 遠程登錄、刪除 test 庫、刷新權限
# 安裝 EPEL + Remi 源 yum install -y epel-release yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm # 啟用 PHP 7.4 模塊 yum-config-manager --enable remi-php74 # 安裝 PHP 及常用擴展 yum install -y php php-cli php-fpm php-mysqlnd php-gd php-xml php-mbstring php-json php-opcache php-pdo php-pecl-zip php-pecl-redis php-pecl-memcached systemctl start php-fpm systemctl enable php-fpm # 驗證 echo ' /var/www/html/phpinfo.php # 瀏覽器訪問 https://IP/phpinfo.php
# 安裝 mod_proxy_fcgi yum install -y httpd proxy_fcgi # 編輯 /etc/httpd/conf.d/php-fpm.confSetHandler "proxy:fcgi://127.0.0.1:9000" systemctl restart httpd
yum install -y vsftpd # 編輯 /etc/vsftpd/vsftpd.conf anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 chroot_local_user=YES allow_writeable_chroot=YES pasv_enable=YES pasv_min_port=40000 pasv_max_port=40100 utf8_filesystem=YES systemctl start vsftpd systemctl enable vsftpd # 開放防火牆端口 firewall-cmd --permanent --add-service=ftp firewall-cmd --permanent --add-port=40000-40100/tcp firewall-cmd --reload
useradd -d /home/webuser -s /sbin/nologin webuser passwd webuser # 設置密碼 # 設置目錄權限 chown -R webuser:webuser /home/webuser chmod 755 /home/webuser
systemctl enable httpd mariadb php-fpm vsftpd
| 現象 | 原因 | 解決 |
|---|---|---|
| PHP 頁面 500 / 空白 | 錯誤未顯示 | php.ini 設 display_errors=On 或查 /var/log/php-fpm/www-error.log |
| FTP 連接超時 | 被動模式端口未放行 | 防火牆開放 pasv_min/max_port 範圍 |
| 上傳文件權限不足 | 目錄屬主非 webuser | chown -R webuser:webuser /var/www/html |
| MySQL 遠程連不上 | bind-address / 防火牆 | 配置 bind-address=0.0.0.0,開放 3306,創建 user@'%' |
fail2ban 防暴力破解;disable_functions=exec,passthru,shell_exec,system,proc_open,popen;open_basedir 限制腳本訪問目錄。