开篇扯淡
思来想去许久,最终还是决定以网站搭建作为本站的第一篇文章。
(头一次写文章,感觉前后逻辑多多少少有点奇奇怪怪的,还请各位读者们谅解一下,我会努力改进的。)
毕竟,对于拥有一个属于自己的网站, 能在互联网上拥有一个属于自己的角落,也确实挺拉风的。出门递出一张名片,上面还能有自己的网站,你就说有没有装到吧(doge)。
那我们应该如何从无到有去搭建属于自己的网站呢,简单来说,分为一下几个步骤:
- 搞一个服务器
- 搞一个域名
- 搭建环境
- 建站
- 完事
服务器和域名的选购和配置本篇我先不做详细介绍,后面我也会专门出一期来讲,敬请期待。
早期建站其实非常朴素,纯靠手敲代码搭出整个网站,但时代的车轮嘎嘎向前滚呢,随着时代进步,现如今,建站的主流方式有两种方式,一种是直接安装面板直接进行自动化安装,另一种则是自己手搓环境来进行配置。
- 安装面板: 像是购买一套“精装修房”。你无需关心水管、电线如何铺设,可以直接拎包入住,专注于布置家具(部署网站和应用)。核心价值是效率和易用性。
- 手搓环境: 像是自己“设计和建造毛坯房”。从地基到装修,一切亲力亲亲为。你可以完全按照自己的意愿和标准来施工。核心价值是控制力和学习深度。
绝大多数人都推荐小白直接安装面板,略过那些繁琐的配置过程,但在我个人看来,这些步骤却是小白成长的关键,经过这些过程的磨炼才能获得成长。过度依赖面板会导致你并不真正理解Nginx的配置规则、防火墙的工作原理、服务之间的依赖关系等,一旦面板出现问题,或者需要在不带面板的环境下工作,你可能会觉得束手无策。
所以本篇的关键还是讲一下如何手搓环境。
环境配置所需
好了,让我们走起,首先我们需要:
- 服务器系统(Windows Server / Linux)
- Web服务器(Nginx / Apache)
- 数据库环境(MySQL / MariaDB)
- 脚本/FastCGI环境(php-fpm)
- 版本控制环境(git)
- ……
综合在一起,也就是著名的LNMP(Linux+Nginx+MySQL+PHP),我这边选用的是WordPress这款多功能CMS作为最终网站配置的后台的,我个人比较喜欢的方式是Linux+Nginx+MariaDB+PHP的组合,本文也是以此为框架来进行讲解的。
前置的一些安装与配置
1. 安装Nginx
首先,你得确保你的系统软件包是最新的,以避免潜在的兼容性问题。
sudo apt update && sudo apt upgrade -y接着安装Nginx作为我们的Web服务器,处理来自浏览器的请求。
sudo apt install nginx -yNginx安装完成后,启动Nginx并设置开机自启。
sudo systemctl start nginx && sudo systemctl enable nginx执行到这里,你在浏览器中输入你的服务器的IP地址,如果看到”Nginx欢迎页”,那么恭喜你,Nginx安装成功啦~
2. 安装MariaDB
然后我们就可以接着安装MariaDB数据库了。MariaDB是MySQL的一个分支,用于存储WordPress网站的数据(如文章、页面、用户信息等)。
sudo apt install mariadb-server mariadb-client -y安装后,建议运行一下安全配置脚本,来设置root密码、移除匿名用户等操作。
sudo mysql_secure_installation可能有些小白看着各种问题一脸懵逼,束手无策,别怕,这边教你一招,啥都不懂就直接default,回车按着往下走就完事了。
3. 安装PHP
前面说了,我们最后是为了WordPress来配置环境的,然而WordPress是用PHP编写的,因此我们需要安装PHP及其进程管理器PHP-FPM,以及其他一些WordPress必需的扩展。
sudo apt install php-fpm php-mysql php-cli php-curl php-gd php-mbstring php-xml php-xmlreader php-zip -ysudo systemctl start php8.3-fpm && sudo systemctl enable php8.3-fpmP.S. 我这里的Linux系统用的是Ubuntu 24.04,默认的PHP版本是8.3,可能因为各种原因版本不同,记得用php -v确认一下哦。如果版本不同(例如是8.2或8.1),就要把上述命令中的版本号替换为实际版本。
创建WordPress数据库
首先以root用户登录到MariaDB控制台。
sudo mariadb -u root在MariaDB shell中,依次执行以下命令来创建数据库和用户(请注意:将其中的 ‘your_strong_password’ 替换为你自己设定的高强度密码)。
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wordpressuser'@'localhost' IDENTIFIED BY 'your_strong_password';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpressuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;看起来上述操作颇为复杂,解释一下就是:以上操作创建了一个名为 wordpress 的数据库,一个用户名为 wordpressuser 的数据库用户,并授予该用户对 wordpress 数据库的全部权限。
下载并配置WordPress
现在,我们的操作就是获取WordPress程序并配置它,然后连接至数据库。
进入Web根目录(通常来说是 /var/www/html)并下载最新版的WordPress。
cd /var/www/html
sudo wget https://cn.wordpress.org/latest-zh_CN.tar.gz解压WordPress压缩包,并将文件移动到当前目录。
sudo tar -xzvf latest-zh_CN.tar.gz --strip-components=1
sudo rm -rf latest-zh_CN.tar.gz设置正确的文件权限,让Nginx服务器(www-data 用户)能够读写这些文件。
sudo chown -R www-data:www-data /var/www/html
sudo find /var/www/html -type d -exec chmod 755 {} \;
sudo find /var/www/html -type f -exec chmod 644 {} \;复制WordPress的示例配置文件,并将其重命名为正式的配置文件。
sudo cp wp-config-sample.php wp-config.php编辑 wp-config.php 文件,填入之前创建的数据库信息。
sudo vi wp-config.php找到下面几行,并根据你的数据库设置进行修改:
define( 'DB_NAME', 'wordpress' );
define( 'DB_USER', 'wordpressuser' );
define( 'DB_PASSWORD', 'your_strong_password' );
define( 'DB_HOST', 'localhost' );
define( 'DB_CHARSET', 'utf8mb4' );配置Nginx以服务WordPress
接下来,你需要告诉Nginx如何正确地处理PHP请求以及服务WordPress。
你需要编辑Nginx的默认服务器块(site-enabled)配置文件。
sudo nano /etc/nginx/sites-available/default将其内容替换为如下配置。记得把 server_name 后面替换为你的域名或服务器IP地址哦。
server {
listen 80;
server_name your_domain.com; # 替换为你的域名或服务器IP
root /var/www/html;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?$args; # 支持WordPress的固定链接
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.3-fpm.sock; # 确认PHP版本路径
}
location ~ /\.ht {
deny all;
}
}保存文件,然后测试Nginx配置语法是否正确。
sudo nginx -t如果显示”语法OK”,那么就重新加载Nginx使配置生效。
sudo systemctl reload nginx完成WordPress安装
到此为止,服务器所有的后台配置就都已经完成,现在可以通过Web界面完成WordPress的安装了。
- 打开浏览器,访问你的服务器IP地址或域名(例如:
http://your_server_ip)。 - 你应该能看到WordPress的安装向导界面。
- 按照提示选择语言,设置你的网站标题、管理员用户名、密码和邮箱。请务必使用强密码以确保安全。
- 点击”安装WordPress”。安装成功后,你可以使用刚设置的管理员账号登录WordPress后台(通常地址是
http://your_server_ip/wp-admin)开始管理和发布内容了。
写在最后
到此也仅仅是网站搭建刚刚开了一个头,后续还要申请https、配置防火墙、调整PHP文件大小上传限制等一系列操作,道阻且长吧。
我个人也十分清楚,本篇的很多知识有很多都超出小白的能力范围,例如ssh、vim等一系列操作初次上手都可能手足无措的,但各位小白们,不要慌,我后续也会为你们一一解答的,也请各位敬请期待。
