资讯专栏INFORMATION COLUMN

技术存档:建站(一)

chnmagnus / 2488人阅读

摘要:自建主要花费在购买云服务器上和静态资源托管上,剩余工作一力承担。

写这系列文章的初衷是:对自己知识面广度和深度的确定,并以此调整后续的发展和学习方向。希望能达到温故而知新的效果。

选择从建站入手,是因为这个是最常见的要求。对于公司而言,网站是展示公司主旨、业务、沟通方式、宣传营销的必选方案,一个符合公司形象的高质量官网,必然能让客户留下良好的第一印象。,对个人而言,博客是表达其特有的思想、展现技术实力、个性化等的有效手段,而个人网站对技术人员而言亦属于有效的展示方案。虽然建站属于最基础的东西,但最基础,不代表是最简单的。

一、域名

作为新时代的程序员,有一个属于自己的独特的域名,是一个很棒的感觉。对一个公司而言,一个通俗易懂或好记的域名,也是相当重要的。

域名选购

对我而言,基本只接触过 万网 ,输入心仪的域名,选择时限,购买即可。当然,购买时注意,顶级域名——即域名后缀,如.com,.edu等——所代表的含义是不一样的,具体请自行查阅,一般个人或公司都可以选用.com。

当然,注册网站的话,你得备案,这个有点麻烦。

域名解析

这里假设你已经够买了一台云服务器,有自己的固定IP,即可将主机IP添加到解析。相关原理有兴趣请自行查找。

解析类型一般为A记录,即将域名指向一个IPv4地址(属于自己的固定)。某些情况下,也会使用CNAME方式,将域名定向到另一个域名别名。

总不能让别人记录IP来访问你的网站吧?

具体并不困难,填写对应参数即可。

二、技术方案 付费方案

基本上,作为技术人员的一点小骄傲,若非相关人手缺稀,且项目时间紧迫,一般而言是不会将这类业务给其他人做的。

1、外包

若公司内没有懂技术的人,一般都会选择外包。

阿里云、腾讯云、百度云,包括我没提到的各大云平台,都有自己的云市场,可以从中获取各种简单或复杂的官网或博客建站方案。这一块我并没做过太大的研究。虽然基本是属于略有改动的模板型网站,但至少,相对个人而言,一个服务商所能提供的建站方案更加稳定和快捷。

当然也可以在如猪八戒网,或某些技术网站的众包平台发布建站需求,性质类似,此处不做诸如性价比和会不会被坑之类的评价。

优点:便捷,便宜,有钱你就能为所欲为。

缺点:有钱你才能为所欲为。

2、自建

主要花费在购买云服务器上和静态资源托管上,剩余工作一力承担。

选择自建站,一般来说是有着后台的需求,比如能随时发表文章之类。也有如网站个性化,特殊化,有个程序员之类的其他情况。以下只大致讲解两种通用的建站方案,这里主要还是面向技术人员,因此如拖拽式建站托管等方案不在此赘述。

Wordpress

易于操作、易于浏览、有各种插件、主题和解决方案。请自行搜索wordpress主题。

这也是各类云服务商提供的常见建站方案。

要使用wordpress自行建站,你需要了解以下内容:Linux、 Apache/Nginx、 Mysql/MariaDB、Perl/PHP/Python。

以下是大致的安装方案和注意事项(来自多年(大概两年)以前自己建站的笔记):

①、选购云服务器:Linux环境,Centos7.X 版本。可使用xshell命令行工具运行命令,使用xftp上传文件。

②、安装Apache:yum install httpd -y
​ 启动和开机启动:systemctl start httpd.servicesystemctl enable httpd.service
​ 配置文件:/etc/httpd/conf/httpd.conf
​ 修改参数:AllowOverride All ——允许读写;Options FollowSymLinks --- 禁止目录浏览;ServerSignature Off --- 关闭显示版本号……(wordpress优化)

③、安装Mariadb:yum install mariadb mariadb-server -y
​ 启动和开机启动:systemctl start mariadb.servicesystemctl enable mariadb.service
​ 修改默认用户名和密码等:

    mysql -u root -p
    use mysql
    update user set user="新用户" where user="旧用户";
    flush privileges; 
    exit
    mysqladmin -u 新用户 -p password 新密码

④、安装PHP:yum install php -y

⑤、安装对应组件等:yum install php-mysql php-gd libjpeg* php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-bcmath php-mhash -y

⑥、测试:/var/www/html 目录下,加入文件index.php,内容为 ` ,若已经过域名解析,则打开网站后能查看到php版本信息等

⑦、上传或下载(wget 命令)wordpress.gz文件到云服务器中的 /var/www/html/ 目录,解压wordpress-x.x.x-zh_CN.tar.gz 至当前文件夹:tar zxvf wordpress-x.x.x-zh_CN.tar.gz

⑧、设置权限: chmod -R 777 /var/www/html/

⑨、打开网站,跟随引导一步步走就行了。

当然那是属于萌新的时候,现在不需要那么复杂的方案,有现成的lamplnmp一键安装包等。

若是在windows本地搭建wordrpess开发环境,也有xampp之类的安装包用于测试,若有php相关的技术,有耐心阅读文档,也可自定义主题(其实还是挺麻烦的)。

wordpress难的地方在建站,并不是使用。但有关如何优化,如减小页面体积,图片文件托管,插件使用等,就得自己找方案了。

优点:快速,功能全面,过时但经典。
缺点:整体臃肿,不如花钱外包,有技术你也没法为所欲为,得花大量时间优化。
典型的wordpress技术博客: http://www.zhangxinxu.com/

Ghost

基于Node.js的开源博客平台,适用于个人,快速、简单、时尚。支持markdown写作,支持各种模板主题。

你需要了解:Node.js、npm等。若是部署至服务器,你还需要了解:Linux、Mysql/MariaDB。

Ghost类似wordpress,但一般用于建立个人网站。中文版的Ghost安装下载请参照ghost中文网,但已经过时,不建议使用,有一定英文基础可使用官方版本。
本地开发或部署都可选取多种方案,具体请参考官方文档,这里使用官方安装文件进行本地安装测试(win10环境)。

①、安装Node.js、注意各版本支持情况,这里建议6.9.x或对应版本。

②、下载并解压Ghost包到自定义目录,npm安装:npm install --production

③、运行并查看运行情况:npm start

可能遇到的问题:

npm安装失败会有提示语句,如需要安装python并添加python路径到全局变量、默认安装sqlite3
npm运行时,若未初始化sqlite3数据库,可能失败,如图

需要npm 全局安装 knex-migrator并初始化等。请根据报错信息安装对应包并初始化:

npm install -g knex-migrator
knex-migrator init

虽然官方支持Node.js 8.8以上,但使用8.9.0 LTS的版本时一直提示找不到主题模板,退回Node.js 6.9.x 重新安装后才能正常运行。

界面效果:

①、初始化安装界面

②、前台界面

③、后台界面

优点:快捷速轻便,简单时尚,支持各种主题模板等等。
缺点:当前生态相对而言并不强大。

2、免费方案

免费方案属于多数开发人员的选择,若对公司官网需求不高,也可使用此类方法,但并不建议。

很多平台都会自己的免费服务和付费服务,对个人而言,很多时候,免费方案已经大大满足一个小型网站的建设需求了。以下列举一系列免费服务:

Github Pages:可直接将你的Github库作为静态文件服务器托管。只要在GitHub上创建一个名为xxx.github.io的新存储库,其中xxx是你在GitHub上的用户名(或组织名称),就可以得到一个属于自己的二级域名,属于多数技术人员的选择。
静态资源托管平台:包括七牛云、又拍云等云存储平台的对象存储服务,免费的情况下,每月可提供限额的流量,实名认证后能得到固定的二级域名。
BAAS云服务:包括野狗云、leancloud等,免费的情况下,每月可以提供限定次数的后台接口调用次数。
其他各大云厂商的免费活动,是熟悉云服务,提升技术的好选择。
……

当然,以上方案,实质上都是将静态文件托管到服务器,最多加几个接口调用,问题是如何更加方便快捷地建立自己的网站,这里忽略手写HTML然后部署的方案。

Hexo

Hexo是将 Markdown 文件根据主题模板和各种插件生成静态页面的Node.js工具。

要使用hexo,你需要了解:Node.js、git、github、Markdown语法。

注意:
①、本地安装使用过程在Hexo官网首页,注意官网右上角可选择语言,由于官网给出的文档说明更加详细,这里不会复述如何安装部署等。

②、运行hexo server可能不会报错,但无法访问4000端口,可查看端口是否被占用:netstat -ano。若是,则改端口后重新运行。如hexo server -p 8080

以下为默认landscape主题首页,更多主题请自行选择:

③、由于没有后台,文章标题、标签、时间、ReadMore链接等需要在markdown文档中特定位置标识,也可以使用相关命令生成文章。具体规则请查看官方写作文档或使用的插件文档。

④、包括如 jekyll、Octopress 甚至 Webpack 等方案生成静态页面并上传到文件服务器,若是部署到静态资源托管平台,请注意做好CNAME域名解析、刷新DNS缓存、防止盗链之类的设置。

优点:免费,Geek
缺点:由于没有后台,无法线上修改,实际开发或使用体验差强人意

总结

以上仅属于玩票性质的建站,主要面对个人博客,而且仅对其表层的使用方法做了简单的介绍,并不困难,选择也很多。但对真实场景的业务,即使是玩票性质的个人博客,依然还有很多需要补充的技术和注意事项,若涉及其他业务场景,需要的东西又不一样了。

因此待续……

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/9001.html

相关文章

  • 技术存档建站(二),升级https

    摘要:在被劫持的广告坑过之后,就想着以后要弄网站就搞的。各端口需要配置对应的授权规则才能访问,整体安全性更高了。当前网站选择最简单的证书即可,花了一点时间查资料后,选择申请免费证书。 在被http劫持的广告坑过之后,就想着以后要弄网站就搞https的。大过年闲着没事,买了云服务器,把自己的域名重新解析绑定了一遍,最后升级成了https 阿里云服务器ESC购买时间:2018-02-19系统和版...

    atinosun 评论0 收藏0
  • [时隔20个月来填坑]Python爬虫建站入门手记

    摘要:大概个月前已新手的身份写了几篇入门的文章爬虫建站入门手记从零开始建立采集站点结果弄到一半就弃坑了。前两次的视频存档编写爬虫入库由于很久没有写这些东西了,视频里面有一半的时间在和上找资料。。。下面是建立的一个微信群的二维码 大概20个月前已新手的身份写了几篇入门的文章:Python爬虫建站入门手记——从零开始建立采集站点 结果弄到一半就弃坑了。 该填的坑是要填的,于是我最近开始在 liv...

    Lavender 评论0 收藏0
  • VPS主机速度和性能综合测试工具整理汇总-键检测VPS性能与速度

    摘要:市面上经常会出现一些美元以下的主机,例如美元的美元月元的等,价格已经低到了白菜的程度,但是到底这些便宜的主机性能与速度是否值这个价钱还需要我们购买后做进一步的测试。常用的测试的项目一般都是磁盘机房带宽上传下载速度值响应等。市面上经常会出现一些2美元以下的VPS主机,例如2美元的BuyVM、1美元/月Gcore、5元的INVS.ru等,价格已经低到了白菜的程度,但是到底这些便宜的VPS主机性能...

    番茄西红柿 评论0 收藏2637
  • 云是下件事吗?

    摘要:云是长期数据保留的下一个目标吗看看中的关键供应商,对于这个时代的任何组织来说,数据是如何对业务需求和运营至关重要的,这是一个现实。一致性一致性允许您利用云和磁带来根据组织的要求归档数据。云是长期数据保留的下一个目标吗?看看spacetweet中的关键供应商,对于这个时代的任何组织来说,数据是如何对业务需求和运营至关重要的,这是一个现实。Be it Education,Finance,Heal...

    lk20150415 评论0 收藏0
  • 【归档存储 UArchive】UArchive 工具使用说明

    摘要:介绍因产品升级,将暂停维护。只能依赖于工具进行相关操作。下载存档下载一个激活的存档,必须指定。请注意,在当前版本参数不能省略,这是一个,我们将在稍后的版本修正它删除存档删除一个存档必须指定。介绍(Introduction)因产品升级,UArchive 将暂停维护。请使用 US3 对象存储归档类型,以获取更优惠更可靠的归档存储服务:US3 产品价格UArchive是UCLOUD公司的归档存储产...

    Tecode 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<