小白教程:从零开始搭建个人网站
最近看了下在阿里云的资源,发现俺的第一个注册的域名已经10年了,岁月唏嘘~

2016年以前,本人还是从事终端(PC桌面和移动端)开发,在2017年左右开始写后端。
2015年那会写Android代码,涉足后端甚少,也就那会申请了个域名,弄了个网站(博客)来玩玩。
踉踉跄跄,10年过去了,期间也帮过几个朋友搭建过公司网站(免费劳动力赠送,其实没有太用心,所以界面做的不耐看)。
在移动互联网的年代,传统的个人网站(或博客)几乎是过去式,写文章不如直接开个公众号便捷省事。而在短视频的年代,个人网站/博客的阅读量更是凋零。
所以,个人网站基本就是个吉祥物的存在了,本人也是把它作为情怀一直保留和续费着。
另外,在国内的审核制度之下,备案等问题的折腾之下,我相信大部分人的头都被折腾到冒烟,所以个人网站更是“千山鸟飞绝”了。
时常有不懂技术的朋友问:“搭建一个网站多少钱”、“搭建一个类似xxx 的网站多少钱” 之类的问题。回答这类型问题,是很费劲的(特别是对方完全技术小白的情况下)。
你说很难吧?也不是,在现在信息发达年代,通过AI 问答可以做很多事情。
你说很简单吧?呃~对方可能会认为做一个百度啊、淘宝这类的网站,是个很轻松、几百块一个人可以搞定的事情——“不就是一个输入框一个页面吗?”有种对牛谈琴的感觉,这种感受后端同志们共鸣一下。
好了,口水文到这就可,懂得搭建网站的朋友,可以关掉本文了,因为下面的内容对你来说也是轻车熟路。
剩下的,网站技术小白(类似10年前的俺这种)继续吧。做运营的朋友,开公司的朋友,想省事自己折腾一个网站的,继续往下阅读。
……………………………………………………………
从零开始搭建个人网站
……………………………………………………………
一个网站,首要的是域名和网站空间(服务器),就好比你要开个公司,那你就要给公司起个好听的名字,同时要进驻到某个办公室一样。
域名便是这个“公司的名字”,而网站空间,则等同这个“公司进驻的办公室”。

下面以搭建一个博客为例,从0开始搭建个人网站。
出发~
一、域名
域名也就是你的网站地址,类似baidu.com、taobao.com 之类的,到域名运营商购买个自己喜欢又靓仔的就可,比如我的博客域名为yuccn.net。
提供购买域名的运营商比较多,国内的首选阿里云、腾讯云,这些运营商基本都提供一条龙服务。
用阿里云做例子:

注册和登录阿里云之后,在上面页面输入你要注册的域名(上图例子为yuccnx,注意不用www),需要com还是net结尾在右边下拉框选。
查询该域名若没有被注册,点击“立即注册”进入购买页面,选择购买年限,之后拉起付款,这个域名便是你的了。
二、网站空间
注册完“公司名”,之后就要去租“公司的办公场地”了,也就是网站空间——即购买服务器。
网站空间可选也很多,国内的阿里云、腾讯云、华为、京东等都可选,国外的有 digitalocean、linode、vultr等,各有优劣,还是用阿里云做例子吧(之前折腾过多家服务器,但最终还是回到使用阿里上)。
首选还是轻服务器。
打开网站:
https://swasnext.console.aliyun.com/buy#

刚刚搭都新站访问量一般不高,用个便宜点的(比如30大洋/月的)也够用(俺的站就是用了 “2 vCPU/ 2 G ESSD云盘 40 GiB”的配置),个人站或者创业型公司的网站,这个配置基本够用。
本文例子选用了操作系 ubuntu,地区中国香港。
(目前云服务商都比较卷,价格目前也被压的很低了,而且时不时还搞活动,伙伴留意下可能会逮到一台便宜的好机器)
特别需要注意的,是选哪个地域的服务器。
如果购买国内(境内)的服务器,搭站是需要备案的,本人折腾过几次,最终感觉约束太多,所以保留了服务器在(海外)香港,免备案。
如果你的网站主要是面向国内用户,那么就要留意是否选择境内的服务器(下图红色)了。

访问速度比较,国内感觉差不多,北京广州的都挺快,海外首推香港或新加坡。
选好之后下单付款完事。
(注:选择海外的服务器,可能访问较慢,或者不稳定)
三、域名解析
域名有了,空间有了,接着把你的域名解析到服务器去。
域名解析,就用阿里云自带的就可,在阿里购买了域名,它(免费)提供了基本的dns解析功能。
先找到你上一节买的服务器公网IP,拷贝下(红框)。

在(第一节注册的)“域名列表”,域名条目内点击“解析”,进入解析域名编辑记录。

以解析www.yuccn.net为例,如图所示,红色填上www(若你想网址是blog.xxx.com,就填blog。购买一个域名之后,子域名随你开心选择),蓝色记录值贴上刚刚拷贝的ip地址。
网站名(公司名)有了,服务器(公司的办公室)也有了,也登记了DNS域名解析了(工商局登记),下一步,就是要把你的“产品”搬运到“办公室”去了。
四、登录和 linux
现在要远程操控服务器了,这节内容需要懂一些基本的linux 命令。
登录远程服务器的客户端,命令行交互的有Putty、OpenSSH,如果mac电脑,可直接用自带的ssh 程序。
直接ssh root@你的ip地址,之后回车,输入密码便可登录成功。

首次登录可能有安全提示。
新购买的服务器,若没有设置账号密码,可以从网页管理页面(web页面)进行首次登录,去修改(获取启用)账号密码,再通过ssh 客户端登录。

界面交互的客户端有FileZilla,windows 下还有WinSCP等,这些产品都是大同小异。
用FileZilla 做示范:
点击菜单:“文件”-“站点管理”,在站点管理页面中,建一个新站点,协议选 “SFTP”,输入IP和端口(端口默认22)。
输入正确的用户名和密码后,点“连接”到你的网站空间去。
连接上去大概是这样:

左侧为你本地电脑文件,右侧为远程文件。
通过图形终端操控,你可以非常轻松的对本地和远程文件进行传输。
五、安装网站应用程序
到这一步,如果你访问你的网站,大概率是这样的。

因为你的网站服务器还是空的服务,80/443 端口服务的程序都还没有跑起来,所以就会“无法访问该网站”。就像你的人员还没有搬入办公室,有客户去办公室敲门,但没人有搭理一样。
下一步是要登录到你的服务器去安装和启动服务程序。
安装网站服务程序步骤:
用搭建博客作为例子:基本服务用nginx + php + mysql,内容管理就用WordPress吧。(可以使用lnmp的一键包安装,但本文还是用原始的“螺丝钉”组装)
1 安装 nginx
sudo apt-get install nginx
安装完成,再次访问你的网站,大概就是这样,你的网站能访问了,只是目前还是nginx 的默认页面。

或许你注意到,网址左边有提示“不安全”,先别管这个,后面会解决。
2 安装mysql
sudo apt-get install mysql-server
3 安装php及其相关
sudo apt-get install php7.4 php7.4-fpm php7.4-mysql
到这步,基础服务安装完成,都没有错误的话,查看下版本应该这样:

4 配置nginx
nginx 配置一般在:/etc/nginx/,主配置文件为nginx.conf,自定义配置在 /etc/nginx/sites-available/ 下有个default(本文为了简单,直接修改这个文件,你也可在该目录下新建一个conf 文件),对其进行修改:
1)添加下面内容,并调整 server_name(原来可能是:server_name _);
2)增加 index.php 到 index 之后;
3)配置 .php 选项。
如下:
server_name www.yuccn.net;
# 你的网站名# ……
# 由于我们使用php,index 内添加 index.php,如下
index index.php index.html index.htm index.nginx-debian.html;
# ……
# 下面这块,可能本来就有,把前面的 # 去掉就行。
location ~ \.php$ {
include snippets/fastcgi-php.conf;
# With php-fpm (or other unix sockets):
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
# With php-cgi (or other tcp sockets):
# fastcgi_pass 127.0.0.1:9000;
}
修改完之后,重新加载下配置,执行:nginx -s reload
5 配置mysql
挨个执行下面命令,也就是登录数据库去创建一个表和用户,及其设置下权限:
mysql -u root -p # 登录时可能需要输入密码,如果没有,则直接回车
create database wordpress; # wordpress 可改为你喜欢的数据库名
create user 'wordpress'@'localhost' identified by '你想输入的密码';
grant all privileges on wordpress.* to 'wordpress'@'localhost'; # 设置权限
flush privileges; # 刷新权限
注意,上面的密码要记住,后面步骤会用到。
6 安装 wordpress
依次执行下面命令,下载wordpress 包后解压到网站的目录:
wget https://wordpress.org/latest.tar.gz
sudo tar -zxvf latest.tar.gz
sudo mv ./wordpress/* /var/www/html
sudo chmod -R 777 /var/www/html
到这里,再次访问你的网站,就是这样:

wordpress安装完成了,现在把上一步创建的数据库信息,填到wordpress配置内:点击”现在就开始”,下一个页面,输入步骤5的设置的用户名和密码,之后提交。

提交后,进入设置网站名和管理员账号密码的页面(后续你会用这个账号密码来登录管理你的博客):

到此,访问你的博客,大概是这个样子了(带着一编默认的博文):

嗯,你肯定嫌网站很丑样,那就登录后台管理,进行你喜欢的主题风格选择:
http://www.yuccn.net/wp-login.php
至此,一个网站就基本完成,关于wordpress的使用不再细说。
六、安装https 证书。
前面提到访问网站时候,网址左边会提示“不安全”,原因是网站默认走http 协议(明文传输),如果你不嫌弃这样,本节就可以无视了。
但我们还是安装下https 证书解决这个问题吧,原因一句话就是:为了安全。
我们使用certbot提供的服务。
打开:https://certbot.eff.org/

根据自己服务器情况选择选项,它会显示对应的系统脚本,安装说明执行就好。
本文例子,挨个执行:
apt install snapd
根据自己服务器情况选择选项,它会显示对应的系统脚本,安装说明执行就好。
本文例子,挨个执行:
apt install snapd
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot
sudo certbot --nginx
按提示逐步完成,一般无啥意外都能安装成功。
成功之后,再次访问网站时候,会自动跳至https 的协议地址了。
注意的是,certbot提供的证书有效期为3个月,但你可以定期更新证书,或者写个脚本自动更新证书。
七、备案
略!
服务器在国内的,自行查阅文章完成。
八、关于费用
回答到前面提到的,搭建一个网站多少钱问题?
购买域名,大约85¥/年;购买服务器 约34¥/月(也就是408¥/年),也就是大概500¥/每年,这是最最最最基本的费用。
另外加上你阅读本文和折腾服务所耗的时间成本:100000000¥,所以搭建一个网站的成本:100000500¥/年。
(全文完)
(欢迎转载本站文章,但请注明作者和出处 编程想法 – Yuccn )