最近心血来潮搭建了一个个人的博客网站,毕竟写了这么多内容,放在别人家里不如自己造个房子,想怎么设计就怎么设计,万一哪天网站就突然火了呢!
花了大概两天时间搭建服务器。中间出了各种各样的问题,什么FTP用不了,wordpress无法连接数据库,通过域名访问出现残忍的404界面、修改网站代码之后页面不更新......数度变更服务器类型,重装服务器系统,最后终于搭建好了。
搭建网站并不难,难的是规避其中密密麻麻的地雷坑,一不留神就把你炸了个心力交瘁。尤其是从头再来的那一刻,虽然脑海里想着"这一次再搞不定,我就不搞了",给自己一个继续下去的理由,内心却在多次经历这样的时刻之后变得麻木了。
特此奉上这篇文章,帮助想要搭建自己博客的小白快速实现自己的心愿。
内容提要
1、搭建网站的三个关键概念:服务器、域名、运行环境
2、搭建网站流程和步骤
3、我遇到的那些坑
一、搭建网站的三个关键概念
服务器
服务器是计算机的一种,结构跟平时使用的个人电脑差不多,但是运行速度、负载都要更高更好。一般来说服务器都具备承担响应服务请求、承担服务、保障服务的能力。
这是我的博客网站的服务器配置。
要想在网络空间中访问你的个人网站,你得首先租用一台网络服务器用来承载你的网站内容以及负责相应的连接传输工作。我使用的是阿里云的ECS云服务器,目前暂时使用得还不错,费用也不贵,一个月几十块钱。
域名
每一台云服务器都会分配一个网络IP地址,通过IP地址可以访问相应的服务器内容。
但是IP地址不方便记忆,有人就想了一个"给IP地址绑定域名"的办法来方便人们访问。
百度搜索的ip地址是14.215.177.39,这个ip地址同域名"baidu.com"绑定在一起,所以我们可以通过"www.baidu.com"来访问百度搜索。
阿里云的域名界面有一个解析功能,就是用来把域名和相应的IP地址绑定在一起,这样人们通过域名就可以直接访问网站而不需要通过难以记住的ip地址。
运行环境
我们购买一台新电脑的时候,里面一般会预装好操作系统和几个常用软件。如果你想要看视频、听音乐等等,就需要从web上下载相应的软件。
我们购买的服务器就像一台新的电脑,你需要给它装一个操作系统来操作相应的功能。当我们在地址栏中输入网站域名,服务器中安装的web服务器软件apache会处理这个请求,并返回html代码,客户端浏览器会解释这些代码并翻译成相应的页面。
如果客户端请求的是php文件,apache会把这个请求交给php程序来处理,php程序找到相应的请求文件并进行解释,然后将其返回给apache,apache再返回给客户端。很多网站都是用php语言来写,需要在php环境中进行编译才能返回给apache正确的内容,所以通常搭建web网站都需要在服务器中安装php运行环境。
mysql是数据库软件,用来存储相应的数据。(这个不多做解释)
所以要让我们的网站能够正常访问,通常需要在服务器安装三个软件:apache、php环境以及mysql数据库。
php和apache的关系
我在客户端游览器输入地址,浏览器会找到192.168.1.100这个服务器,然后根据端口会找到apache服务器。apache他会把它某个目录下的index.html里的代码通过URL地址在返回给客户端的游览器,然后游览器就会根据返回的代码解析成我们看到的网页内容。这是我们访问网页代码的情况。
如果我们访问的是php文件呢?
apache看到你传过来的是Php文件请求,在服务器没装php的情况下,他也会把这个文件打开,把里面的代码全部在返回给客户端,但是客户端游览器他不能解析php文件。所以前台就会把这个文件代码全部显示出来,或者出现一个下载这个文件的情况。这种情况不是我们想要看到的。所以我们需要在服务器端在安装一个php服务,这样apache一看你发送过来的是php文件,它就会把这个文件先传给php程序,php程序先把这个文件进行解释。然后他返回给apache,而apache在返回给客户端。这样客户端就可以看到php文件解析后的页面效果了。
二、搭建网站流程和步骤
1、购买服务器
进入阿里云网站购买一个ECS或者轻量级云服务器。
轻量应用服务器已经搭建好了web运营环境,也安装了wordpress(搭建网站的工具,里面有很多网站主题模板,相当于一个写好的网站)。但是这个轻量级服务器远程连接比较麻烦,不能通过FTP工具传输文件,试了其它几款远程连接工具,全部连接不成功,不能同服务器建立连接就不能把网站的代码文件同步到本地,实现本地代码的修改。
所以我个人推荐ECS云服务器,可以自主配置相应的操作系统。
购买完服务器后就开始为服务器安装包含操作系统的镜像。
宝塔Linux面板可以实现网站部署和管理的所有功能,非常容易操作,我用的就是这个。
2.进入到软件商店进行下载安装
安装好apache、mysql和php(这里推荐php7.1版本)。
这两个软件也装上,前者应用于FTP传输,后者是一款数据库界面可视化管理工具。
3、用wordpress搭建博客网站
在宝塔面板中直接一键部署wordpress。
wordpress应该算是小白搭建个人博客网站的不二之选,自己从头来写这个网站代码不知何年何月才可以成功上线。
4、购买域名
在阿里云注册一个域名,进行解析后绑定到相应的ip地址。(一定要解析才能绑定)
5、端口管理
服务器有高达6万多个端口,其中一些端口比较常用,承载着固定的功能。比如80端口用来直接访问网站,21端口用于FTP文件传输。我们得在阿里云的服务器控制台-安全组一栏设置这些端口保持开放状态。
6、开始创建站点
进入宝塔的网站界面,添加自己的网站域名,修改根目录位置。(通常我在安装wordpress的时候会另外设置一个根目录,wordpress文件就安装在这个根目录之下)。
7.创建一个FTP账号
本地FTP工具需要通过该账号和密码才能连接该服务器。
在网站界面添加站点时会默认创建一个数据库,你也可以自己添加一个数据库。wordpress初始化时需要连接数据库。
8、wordpress初始化
访问wordpress的网站创建界面:ip地址/wp-admin.php
访问wordpress的后台登陆界面:ip地址/wp-login.php
wordpress会自动引导你进行创建和登录。你可以直接在wordpress的后台添加自己的网站主题并修改。
完成上述的操作之后,重启一下服务器,这个时候就可以访问自己的网站了。
9、安装FTP
如果你想把自己的网站源文件下载到本地,在本地修改后再同步到服务器,这个时候就需要用到FTP工具。
我推荐使用FlashFTP。
三、我遇到的那些坑
1、忘记宝塔面板如何访问
通过"IP地址+端口"的方式进行访问,如果使用宝塔系统请一定设置8888端口保持开放,因为宝塔操作系统配置里面默认通过这个端口才可以访问宝塔面板。
2、通过域名访问网站总是跳到404界面
让浏览器诊断一下,我就多次域名前面没有加上"www"导致一直进不去网站。
3、wordpress后台运行速度慢
高版本的wordpress的默认字体是google字体,由于墙的影响导致加载这种字体的速度非常慢,需要在配置里面禁用。
function coolwp_remove_open_sans_from_wp_core() {
wp_deregister_style( 'open-sans' );
wp_register_style( 'open-sans', false );
wp_enqueue_style('open-sans','');
}
add_action( 'init', 'coolwp_remove_open_sans_from_wp_core' );
将上述代码添加到wordpress安装目录下的function.php文件中。
4、wordpress无法连接数据库
wordpress初始化过程中会有一个填写数据库名称以及数据库账号和密码、服务器主机地址的界面,这里的服务器主机填写localhost。(我之前一直填写服务器ip地址,一直连接不上)
当你对网站作出修改之后,发现网站没有变化或着访问出现异常,请重启服务器在试。很多问题重启一下服务器就解决了。
(编程业余爱好者,非专业,上文如果有错误之处,烦请指正)