本教程面向没有技术基础的人员,用以快速搭建基于 WordPress 内容管理系统(CMS)的网站(官网:适用于博客到大型网站的 CMS (内容管理系统) | WordPress.org China 简体中文),制作个人博客、公司门户网站、网上商城等等。本教程不追求讲解的严谨,仅保证高度的可操作性;本教程所提及的知识、原理仅为指明学习路线,在完成网站部署后,若仍有兴趣,可按图索骥、继续学习。
部署一个网站需要什么
通俗地理解,网站就是一个放在服务器上的文件夹。访问网页,实际就是以类似访问你自己电脑中文件的方式,获取网站中的文章、媒体文件等在电脑(服务器)中的存放地址,经由浏览器处理,就形成了平常所见的网页。因此,部署网站主要需解决两个问题:一是解决文件的存放(配置服务器、安装 WordPress等),二是解决文件的访问(域名解析、网站备案等)。
所需知识
在服务器的配置方面,需要知道一些简单的 Linux 命令、少量计算机网络领域的基础知识;在编写网站前端(浏览器能看到的那些东西)、后端(网站后台,可在此撰写文章,类似微信公众号的后台)方面,需要了解 HTML、CSS、Javascript、PHP 的使用——它们是常用于编写网站的计算机语言。不过,在本教程中您不需要担心这些知识储备的问题,笔者会完整地提供所需的代码、命令等,只需复制粘贴便可使用——但请注意,复制本文提供的命令后,可以点击鼠标右键粘贴到 Linux 终端(不能 Ctrl + V,它在 Linux 终端中有其他含义)。
所需软硬件环境
网站需要域名来方便地通过浏览器访问(从而无需记忆服务器 IP 地址)、需要服务器来存放网页和多媒体文件、需要一个内容管理系统(CMS)来编辑文章和皮肤。本教程针对这三个方面,将讲解域名的购买和解析、服务器的购买和部署、WordPress 的部署和基本使用方法。
此外,域名、服务器只要有一个在国内,就还需要进行网站备案,由于此流程太过繁琐和愚蠢,本教程不作讲解,请自行搜索——这个步骤独立于本教程中其他步骤,可在一切就绪后进行;请知悉:备案没有通过时,网站是无法通过浏览器访问的,只能操作服务器后台。
准备域名
域名相关知识简介
- IP 地址:每台计算机在网络中都有一个 IP 地址,可以理解成现实生活中的地址,它是人为给计算机添加的唯一标记。同一个计算机网络内,IP 地址是唯一的。
- URL:浏览器地址栏输入的那一串字符就是 URL,它指明了传输协议(http、https)、域名、端口号(可以给计算机上某个应用分配一个端口用于联网)、资源路径(文章和媒体文件的存放位置)以及一些其他参数。
- 域名:域名就相当于在 IP 地址基础上给了一个别名,就像现实世界中的某家店铺,有一个邮寄所用的地址,还有一个公司名称——域名就是这个便于称呼和记忆的公司名称。域名由点号分隔成几部分。例如:www.google.com 中,com 是顶级域名、google 是二级域名、www 是三级域名。购买域名时,实际购买的是某个顶级域名下的二级域名。一旦购买了该二级域名,就可以随意使用它之下的三级、四级域名等等。
- DNS:DNS(Domain Name System,域名系统)就是用来管理 IP 地址与域名对应关系的数据库。当您拥有一个域名后,还需通过 DNS 解析将它和您的网站服务器的 IP 对应起来以便访问。
域名购买服务商推荐
国内的阿里云、腾讯云等都提供了域名购买服务;国外则有 Dynadot、GoDaddy 等商家。推荐使用 Dynadot:作为国外网站,却有完善的中文界面,方便操作。在国内商家购买域名需要极其繁琐的审核、实名认证等流程,因此在不需要或不想网站备案的情况下(例如个人博客),推荐在国外商家购买。服务器同理;但现在也有很多国内厂商提供位于国外的服务器,选择这样的也可以。
当然,不购买域名也是可以搭网站的,可以直接通过 IP 地址访问——但后面设置宝塔面板就不能填域名了,还需要自己设置网站根目录名称。强烈推荐拥有一个属于自己的域名,不仅方便访问,也很有仪式感~
域名解析
本教程引用 Dynadot 网站注册账户、购买域名、支付宝付款、解析域名教程-老唐笔记 (oldtang.com) 作为域名购买和解析教程。
一般来说,在哪里购买了域名,就去哪里进行域名解析。这一步需要你已经买好服务器,知晓其 IP 地址后才能回过头来进行。推荐在设置厂商后台之后、远程连接服务器之前进行。
准备服务器
购买建议
主机的选择
在购买服务器时,常常遇到各种主机类型的选项,在此作简要介绍:服务器主机分为虚拟主机、VPS、ECS、独立服务器。
虚拟主机是把一台物理上的计算机划分成多个虚拟的计算机,每个虚拟计算机都可拥有独立域名和 IP 地址,具有完整的服务器功能。虚拟主机通常较便宜,但权限较少,甚至没有独立的操作系统,不便运维,因此不推荐使用。
VPS(Virtual Private Server,虚拟专用服务器),也是将物理计算机划分为多个虚拟计算机,但划分的虚拟机都有独立操作系统,不会受到物理主机其他用户的干扰。VPS 服务器也相对便宜,但性能较低、稳定性较低,因此也不推荐。
ECS(Elastic Compute Service,云服务器),就是我们平时说的云服务器。它是从集群(多台)服务器中,调取一定的资源(CPU、内存)当成一个服务器使用,也有独立操作系统。ECS 的稳定性也较高——除非所有的集群内服务器全部出现问题,云服务器才会无法访问。它的性能比独立服务器低,但对于个人用户完全够用,可以考虑。
独立服务器是一台真正的物理计算机,一般是将购买好的服务器,交给专业机房进行统一管理,以确保服务器的网络、硬件工作的更稳定。它性能最优、价格最高,适合企业用户。
配置推荐
服务器一般使用 Linux 系统——Linux 系统也分很多种,对于网站服务器,推荐使用 CentOS,因为它相对来说较为安全和稳定,且有长期支持版本(例如 CentOS 7.9)。选择版本时可以选择这样的长期支持(LTS)版本。
硬件配置上,需考虑 CPU 的核数,核越多运算速度越快,并发支持越好——但个人用户做个访问量不大的小网站,选择单核或双核就够了。
内存理论上当然也是越大越好,不过个人网站 2-4G 就够了。
硬盘类型尽量选择 SSD 硬盘而非机械硬盘,二者有极大的性能差距;容量上,如果媒体文件不多,32G 以上即可——系统和软件大概会占用 10G 左右。
另一个决定网站性能的参数是带宽。1Mbps = 128KB/s。个人网站 1-3 M 即可。购买时还请注意商家是按带宽计费还是流量计费。
另外,用户访问网站服务器的延迟也是越低越好,因此需要选择离用户所在地最近的地区部署服务器。若想避开繁琐的备案,同时在中国大陆能方便地访问,位于香港和新加坡的服务器是不错的选择。
购买的原则一般是先低后高,当发现硬件已无法支撑大量访问时再考虑升级。服务器一般有按小时、周、月、季、年等付费的模式,若您对该厂商不太了解,可以先短期购买以供测试。
厂商推荐
国内有阿里云、腾讯云、华为云等,请到各自官网比较价格。决定厂商后,请自行搜索购买教程——由于各厂商在产品命名、操作界面等方面往往时有变动,笔者不作阐述,请以最新版本为准。
此外,一些厂商会提供自带 WordPress 的服务器(应用镜像),但由于不知它们的默认设置中是否有坑,为了确保跟着本文一次成功,笔者更推荐选购不带任何框架和环境的服务器(系统镜像),自行安装。
配置服务器
厂商后台的设置
购买服务器后,还需要在厂商官网的控制台进行一些简单操作,例如记下服务器的 IP 地址、ssh 远程登录(就是那个黑框框界面)的用户名和密码等。此外,请确保在“安全组”中 80 和 443 端口已经开启。接下来安装宝塔面板后,还需要回来开启宝塔后台使用的那个端口。
请注意,从这里开始,会提及各种不同“后台”“界面”“数据库”“网站”等的账号密码,请特别记录并分清这些账号密码的使用对象,笔者提及时也会特别强调。
买好服务器之后,就可以进行域名解析了。当然,也可以等到后面宝塔后台甚至 WordPress 安装完成后再说。
远程连接服务器
连接之前,请确保系统安装了 ssh——当然,一般都是系统自带的。可以打开系统自带的终端(Windows 的 cmd,或 Mac 的“终端”APP),使用以下格式的命令连接服务器:
ssh 用户名@IP地址
之后再输入密码——请注意,Linux 输密码是不会显示出来的,输完回车即可,不用担心是不是没输进去。也可以在这里右键粘贴。
成功建立连接后,注意观察是否是 root 身份,就是看每一行光标位置末尾是不是 #
——普通用户是 $
。若不是 root 用户,后续执行一些命令时可能遇到权限问题 permission denied
,此时只需在命令前加一个 sudo
再执行即可。注意 sudo
与要输入的命令间要有个空格。
安装宝塔 Linux 面板
网站服务器由操作系统、Web 服务器应用、数据管理软件、编程语言组成。常用的架构是所谓的 LNMP——Linux + Nginx + MySQL + PHP,分别对应四个部分。手动部署 LNMP 环境极其繁琐,因此推荐使用宝塔 Linux 面板进行网站的环境配置。此外,宝塔面板也可以方便地进行数据库管理、站点管理、文件传输、定时备份、服务器状态监控等;宝塔面板最大的优势是提供了这一套东西的简体中文图形化集成界面。
宝塔面板的官网下载地址是 宝塔linux面板,一键安装LAMP/LNMP/SSL/Tomcat (bt.cn)。安装时,请确保是干净的操作系统,没有安装过其它环境带的 Apache / Nginx / MySQL / PHP 等。当然,刚购买的服务器肯定是干净的。
进入以上链接,找到 Linux 面板安装脚本,找到自己选购的操作系统,复制后粘贴到 ssh 终端运行即可。安装完成后会给出宝塔面板用户名、密码和后台地址,请妥善保存(尤其后台地址末尾那串字符不要忘了,否则端口号对了也无法访问)。
之后需要回到服务器商官网控制台安全组中放行宝塔刚刚给出的端口号,然后用浏览器输入外网地址即可访问后台。
基于宝塔面板进行网站后台设置
面板简介
常常使用的界面是“网站”“文件”“计划任务”三项,分别用于申请证书、下载备份、设定备份 / 续签 / 切割日志等任务。
安装 LNMP
当服务器还没安装任何环境时,登录到宝塔面板后会弹出一个界面,让您选择要安装的环境。各下拉菜单保持默认即可,安装方式也可以保持默认。之后点击一键安装即可。安装可能较慢,请保持耐心。
添加站点
进入“网站 – 添加站点”,进行以下填写:
- 域名:填写站点域名即可。注意若有多个域名都能访问到站点,请全部填写,一行写一个——例如
google.com
和www.google.com
,一般这俩可以都填上(但事实上只需要第一个就可以了,额外加一个三级域名是怕用户习惯性加 www 造成无法访问)。 - 备注:会自动根据域名生成,也可以自己改一个。
- 根目录:也会自动生成,不要手动修改!
- FTP:对于本教程的 WordPress 网站,不用创建。
- 数据库:WordPress 是依赖数据库的网站架构,因此需要创建。选择 MySQL,用户名密码都可以保持默认。
- PHP 版本:保持默认即可。
设置完成后,请妥善保存以上信息!
——添加一个站点,其实就是创建一个作为网站的虚拟主机,用户可以用类似访问电脑中文件的方法访问网页文件。一个服务器可以添加多个站点。
设置伪静态
伪静态是动态网站为了增强对搜索引擎的支持,将网站的 URL 按一定规则进行配置的方法。在上节的界面中进入“伪静态”,下拉选择“wordpress”即可。
获取 https 证书
在上节的界面中进入“SSL”,选择通过 Let’s Enctypt 申请即可。建议开启右上角的“强制 HTTPS”选项,可以提高网站访问的安全性。
设置计划任务
通常设置定期备份网站本体、数据库、进行日志切割即可。点击“添加计划任务”,选择这三种任务,填入自定义的任务名称和执行周期即可。
网站的根目录是 /www
,其中 /www/backup
是存放备份的文件夹。今后下载备份下载 database
和 site
文件夹中的某个版本即可(分别是数据库和网站本体),请注意选择同一时间备份的版本。
至此,服务器的配置已经全部完成。
配置 WordPress
下载 WordPress
可以远程连接服务器终端后,使用 wget 命令直接下载。命令如下,分别复制粘贴即可:
进入网站根目录:
cd /www/wwwroot/宝塔面板中得知的文件夹名称
wget 下载 WordPress(在此之前请到官网查询最新版本号,本教程最后修订时为 6.2.2):
wget https://cn.wordpress.org/wordpress-6.2.2-zh_CN.zip
解压程序包:
unzip wordpress-6.2.2-zh_CN.zip
将解压出来的 wordpress 目录下的所有文件移动到网站根目录:
mv wordpress/* ./
移除空目录 wordpress:
rm -rf wordpress/
删除下载的 WordPress 压缩包:
rm -f wordpress-6.2.2-zh_CN.zip
当然,也可以将压缩包下载到本地,再使用宝塔面板上传,但这样可能会引起文件权限的错误(权限过高,不安全;或权限过低,后续无法安装 WordPress),因此不推荐。如果遇到安装中报错“抱歉,我不能写入 wp-config.php 文件”,或安装成功后发现无法上传或删除主题、插件等,提示连接 FTP 服务器之类,则极有可能又是文件权限出错(笔者过这个坑)。这时,为了一劳永逸地解决权限问题,可以进入 WordPress 安装目录将所有文件权限设置为 777:
cd /www/wwwroot/宝塔面板中得知的文件夹名称
chmod -R 777 ./
安装 WordPress
本节内容与本地安装完全相同,因此请参考 WordPress 本地环境的搭建 ——参考该教程第 3.2 节,只需将 localhost 或 127.0.0.1 换成网站域名即可。此外,填写数据库等信息时,请确保它们与本教程前面宝塔面板中生成的名称相同。
WordPress 后台使用简介
本教程推荐 WordPress使用指南 – WordPress课堂 (wordpresskt.com) 作为 WordPress 基本使用指南。
结束语
至此,如果一切顺利,您已成功搭建了一个属于自己的网站!在此之后,您还可以利用 WordPress 的强大开源环境,自行添加一些所需的功能插件,甚至编写一个属于自己的网站主题。
发表回复
要发表评论,您必须先登录。