标签: 搭建网站

  • 个人网站搭建之手搓服务器环境配置

    开篇扯淡

    思来想去许久,最终还是决定以网站搭建作为本站的第一篇文章。

    (头一次写文章,感觉前后逻辑多多少少有点奇奇怪怪的,还请各位读者们谅解一下,我会努力改进的。)

    毕竟,对于拥有一个属于自己的网站, 能在互联网上拥有一个属于自己的角落,也确实挺拉风的。出门递出一张名片,上面还能有自己的网站,你就说有没有装到吧(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 -y

    Nginx安装完成后,启动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 -y

    启动PHP-FPM并设置开机自启

    sudo systemctl start php8.3-fpm && sudo systemctl enable php8.3-fpm

    P.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的安装了。

    1. 打开浏览器,访问你的服务器IP地址或域名(例如:http://your_server_ip)。
    2. 你应该能看到WordPress的安装向导界面。
    3. 按照提示选择语言,设置你的网站标题、管理员用户名、密码和邮箱。请务必使用强密码以确保安全
    4. 点击”安装WordPress”。安装成功后,你可以使用刚设置的管理员账号登录WordPress后台(通常地址是 http://your_server_ip/wp-admin)开始管理和发布内容了

    写在最后

    到此也仅仅是网站搭建刚刚开了一个头,后续还要申请https、配置防火墙、调整PHP文件大小上传限制等一系列操作,道阻且长吧。

    我个人也十分清楚,本篇的很多知识有很多都超出小白的能力范围,例如ssh、vim等一系列操作初次上手都可能手足无措的,但各位小白们,不要慌,我后续也会为你们一一解答的,也请各位敬请期待。