Linux VPS 搭建网站教程
卡尔云官网
www.kaeryun.com
随着互联网的快速发展,个人网站已经成为展示个人能力、创业或分享经验的重要平台,对于很多刚接触网络技术的新手来说,搭建一个稳定的网站可能是一个挑战,本文将详细指导你如何从零开始搭建一个基于 Linux VPS 的网站。
工具选择
在搭建网站之前,你需要选择一个合适的 VPS 提供商,VPS(虚拟专用服务器)是一种虚拟化的服务器,适合个人用户和小型网站,以下是一些常见的 VPS 提供商:
- DigitalOcean:用户友好,价格透明,适合新手。
- HostGator:提供多种套餐,性价比高。
- Cloudflare:虽然主要提供云服务器,但也可以作为 VPS 服务提供商。
- Linux hosting:专注于 Linux 环境,适合技术基础较好的用户。
选择 VPS 提供商后,根据套餐大小选择合适的虚拟机,VPS 提供商会自动为你配置必要的软件,如操作系统、HTTP 服务器(如 Nginx 或 Apache)、PHP 框架(如 PHP 7.4+)、MySQL 等。
环境准备
安装操作系统
VPS 提供商会自动安装操作系统,如果你选择的是 Linux VPS,系统将是 Ubuntu 或者 Debian,安装完成后,进入控制面板:
sudo apt-get update sudo apt-get upgrade -y
安装 HTTP 服务器
Nginx 是一个功能强大的开源 HTTP 服务器,适合个人网站,安装 Nginx:
sudo apt-get install nginx -y sudo systemctl enable nginx sudo systemctl start nginx
安装 PHP 框架
PHP 是构建网站的核心语言,安装 PHP 7.4+:
sudo apt-get install php7.4 -y sudo service php7.4 restart
安装 MySQL
MySQL 是一个常用的关系型数据库,安装 MySQL 和 MariaDB:
sudo apt-get install mysql mysql-server -y sudo systemctl enable mysql sudo systemctl start mysql
安装 Apache
Apache 是另一个常用的 HTTP 服务器,安装 Apache:
sudo apt-get install apache2 -y sudo systemctl enable apache2 sudo systemctl start apache2
搭建网站
登录 VPS
通过控制面板或 CLI 方式登录到 VPS:
sudo apt-get install ssh -y sudo ssh -i ~/.ssh/id_rsa user@vps IP
安装 PHP 框架
如果你选择的是 PHP 7.4+,它已经安装好了,否则,安装 PHP 7.2:
sudo apt-get install php7.2 -y sudo service php7.2 restart
配置站点
安装 Nginx
安装完成后,配置 Nginx:
sudo nano /etc/nginx/sites-available/default
在空白处添加以下内容:
server { listen 80; server_name your_domain_name.example.com; root /var/www/html; ... }
保存并退出编辑器,然后重新加载 Nginx:
sudo systemctl restart nginx
安装 MySQL
安装完成后,配置 MySQL:
sudo nano /etc/myndb/data.default
在空白处添加以下内容:
mysqldump --skip-charset-check --default-character-set=utf8 --default collation=utf8_unicode_ci_1mb4 --no-keep-tables --no-auto-increase-precision --no-allowgz --no-auto-set-_charset --no-change-charset --no-set-utf8mb4 --no-set-utf8mb4_ci_1mb4 --no-set-utf8mb4_ci_4mb4 --no-set-utf8mb4_ci_16mb4 --no-set-utf8mb4_ci_32mb4 --no-set-utf8mb4_ci_64mb4 --no-set-utf8mb4_ci_128mb4 --no-set-utf8mb4_ci_256mb4 --no-set-utf8mb4_ci_512mb4 --no-set-utf8mb4_ci_1024mb4 --no-set-utf8mb4_ci_2048mb4 --no-set-utf8mb4_ci_4096mb4 --no-set-utf8mb4_ci_8192mb4 --no-set-utf8mb4_ci_16384mb4 --no-set-utf8mb4_ci_32768mb4 --no-set-utf8mb4_ci_65536mb4 --no-set-utf8mb4_ci_131072mb4 --no-set-utf8mb4_ci_262144mb4 --no-set-utf8mb4_ci_524288mb4 --no-set-utf8mb4_ci_1048576mb4 --no-set-utf8mb4_ci_2097152mb4 --no-set-utf8mb4_ci_4194304mb4 --no-set-utf8mb4_ci_8388608mb4 --no-set-utf8mb4_ci_16777216mb4 --no-set-utf8mb4_ci_33554432mb4 --no-set-utf8mb4_ci_67108864mb4 --no-set-utf8mb4_ci_134217728mb4 --no-set-utf8mb4_ci_268435456mb4 --no-set-utf8mb4_ci_536870912mb4 --no-set-utf8mb4_ci_1073741824mb4 --no-set-utf8mb4_ci_2147483648mb4 --no-set-utf8mb4_ci_4294967296mb4 --no-set-utf8mb4_ci_8589934592mb4 --no-set-utf8mb4_ci_17179869184mb4 --no-set-utf8mb4_ci_34359738368mb4 --no-set-utf8mb4_ci_68719476736mb4 --no-set-utf8mb4_ci_137438953472mb4 --no-set-utf8mb4_ci_274877906944mb4 --no-set-utf8mb4_ci_549755813888mb4 --no-set-utf8mb4_ci_1099511627776mb4 --no-set-utf8mb4_ci_2199023255552mb4 --no-set-utf8mb4_ci_4398046511104mb4 --no-set-utf8mb4_ci_8796093022208mb4 --no-set-utf8mb4_ci_17592186044416mb4 --no-set-utf8mb4_ci_35184372088832mb4 --no-set-utf8mb4_ci_70368744177664mb4 --no-set-utf8mb4_ci_140737488355328mb4 --no-set-utf8mb4_ci_281474976710656mb4 --no-set-utf8mb4_ci_562949953421312mb4 --no-set-utf8mb4_ci_1125899906842624mb4 --no-set-utf8mb4_ci_2251799813685248mb4 --no-set-utf8mb4_ci_4503599627370496mb4 --no-set-utf8mb4_ci_9007199254740992mb4 --no-set-utf8mb4_ci_18014398509481984mb4 --no-set-utf8mb4_ci_36028797018963968mb4 --no-set-utf8mb4_ci_72057594037927936mb4 --no-set-utf8mb4_ci_144115188075855872mb4 --no-set-utf8mb4_ci_288230376151711744mb4 --no-set-utf8mb4_ci_576460752303423488mb4 --no-set-utf8mb4_ci_1152921504606846976mb4 --no-set-utf8mb4_ci_2305843009213693952mb4 --no-set-utf8mb4_ci_4611686018427387904mb4 --no-set-utf8mb4_ci_9223372036854775808mb4
保存并退出编辑器,然后配置 MySQL 数据库:
sudo mysql -u user -p
输入你的 MySQL 用户名和密码,执行以下命令:
mysql -u user -p -e "CREATE DATABASE your_domain_name.example.com;" mysql -u user -p -e "USE your_domain_name.example.com;" mysql -u user -p -e "CREATE TABLE IF NOT EXISTS users (id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50) UNIQUE, password VARCHAR(50), email VARCHAR(100), created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP);" mysql -u user -p -e "INSERT INTO users (username, password, email) VALUES ('admin', 'admin', 'admin@example.com');"
完成后,退出 MySQL:
mysql -u user -p
配置安全
启用防火墙
在 VPS 上启用防火墙:
sudo apt-get install firewalld -y sudo firewall-cmd --add-service=nginx sudo firewall-cmd --add-service=mysql sudo firewall-cmd --add-service=php sudo firewall-cmd --add-service=php7.2 sudo firewall-cmd --add-service=php7.4 sudo firewall-cmd --add-service=mysql sudo firewall-cmd --add-service=php sudo firewall-cmd --add-service=php7.2 sudo firewall-cmd --add-service=php7.4
配置 IPsec
安装 IPsec:
sudo apt-get install libipsec-dev -y sudo apt-get install libip-sec-dev -y sudo apt-get install libip-sec-implies -y sudo apt-get install libip-sec-implies-2 -y sudo apt-get install libip-sec-implies-3 -y sudo apt-get install libip-sec-implies-4 -y sudo apt-get install libip-sec-implies-5 -y sudo apt-get install libip-sec-implies-6 -y sudo apt-get install libip-sec-implies-7 -y sudo apt-get install libip-sec-implies-8 -y sudo apt-get install libip-sec-implies-9 -y sudo apt-get install libip-sec-implies-10 -y sudo apt-get install libip-sec-implies-11 -y sudo apt-get install libip-sec-implies-12 -y sudo apt-get install libip-sec-implies-13 -y sudo apt-get install libip-sec-implies-14 -y sudo apt-get install libip-sec-implies-15 -y sudo apt-get install libip-sec-implies-16 -y sudo apt-get install libip-sec-implies-17 -y sudo apt-get install libip-sec-implies-18 -y sudo apt-get install libip-sec-implies-19 -y sudo apt-get install libip-sec-implies-20 -y sudo apt-get install libip-sec-implies-21 -y sudo apt-get install libip-sec-implies-22 -y sudo apt-get install libip-sec-implies-23 -y sudo apt-get install libip-sec-implies-24 -y sudo apt-get install libip-sec-implies-25 -y sudo apt-get install libip-sec-implies-26 -y sudo apt-get install libip-sec-implies-27 -y sudo apt-get install libip-sec-implies-28 -y sudo apt-get install libip-sec-implies-29 -y sudo apt-get install libip-sec-implies-30 -y sudo apt-get install libip-sec-implies-31 -y sudo apt-get install libip-sec-implies-32 -y sudo apt-get install libip-sec-implies-33 -y sudo apt-get install libip-sec-implies-34 -y sudo apt-get install libip-sec-implies-35 -y sudo apt-get install libip-sec-implies-36 -y sudo apt-get install libip-sec-implies-37 -y sudo apt-get install libip-sec-implies-38 -y sudo apt-get install libip-sec-implies-39 -y sudo apt-get install libip-sec-implies-40 -y sudo apt-get install libip-sec-implies-41 -y sudo apt-get install libip-sec-implies-42 -y sudo apt-get install libip-sec-implies-43 -y sudo apt-get install libip-sec-implies-44 -y sudo apt-get install libip-sec-implies-45 -y sudo apt-get install libip-sec-implies-46 -y sudo apt-get install libip-sec-implies-47 -y sudo apt-get install libip-sec-implies-48 -y sudo apt-get install libip-sec-implies-49 -y sudo apt-get install libip-sec-implies-50 -y sudo apt-get install libip-sec-implies-51 -y sudo apt-get install libip-sec-implies-52 -y sudo apt-get install libip-sec-implies-53 -y sudo apt-get install libip-sec-implies-54 -y sudo apt-get install libip-sec-implies-55 -y sudo apt-get install libip-sec-implies-56 -y sudo apt-get install libip-sec-implies-57 -y sudo apt-get install libip-sec-implies-58 -y sudo apt-get install libip-sec-implies-59 -y sudo apt-get install libip-sec-implies-60 -y sudo apt-get install libip-sec-implies-61 -y sudo apt-get install libip-sec-implies-62 -y sudo apt-get install libip-sec-implies-63 -y sudo apt-get install libip-sec-implies-64 -y sudo apt-get install libip-sec-implies-65 -y sudo apt-get install libip-sec-implies-66 -y sudo apt-get install libip-sec-implies-67 -y sudo apt-get install libip-sec-implies-68 -y sudo apt-get install libip-sec-implies-69 -y sudo apt-get install libip-sec-implies-70 -y sudo apt-get install libip-sec-implies-71 -y sudo apt-get install libip-sec-implies-72 -y sudo apt-get install libip-sec-implies-73 -y sudo apt-get install libip-sec-implies-74 -y sudo apt-get install libip-sec-implies-75 -y sudo apt-get install libip-sec-implies-76 -y sudo apt-get install libip-sec-implies-77 -y sudo apt-get install libip-sec-implies-78 -y sudo apt-get install libip-sec-implies-79 -y sudo apt-get install libip-sec-implies-80 -y sudo apt-get install libip-sec-implies-81 -y sudo apt-get install libip-sec-implies-82 -y sudo apt-get install libip-sec-implies-83 -y sudo apt-get install libip-sec-implies-84 -y sudo apt-get install libip-sec-implies-85 -y sudo apt-get install libip-sec-implies-86 -y sudo apt-get install libip-sec-implies-87 -y sudo apt-get install libip-sec-implies-88 -y sudo apt-get install libip-sec-implies-89 -y sudo apt-get install libip-sec-implies-90 -y sudo apt-get install libip-sec-implies-91 -y sudo apt-get install libip-sec-implies-92 -y
卡尔云官网
www.kaeryun.com