建站分享
遵循大家都默认的一个规则——建立好站点之后,分享自己建立站点的过程。
租用服务器
首先我在租用了搬瓦工的VPS,VPS运行cent os 6.系统环境对于个人站点来说不是非常重要,ubuntu,debian,甚至red hat都可以,看个人习惯。
安装nginx
nginx就是一个软件,它监听着计算机的80端口,当检测到有浏览器访问当前计算机的IP地址的时候(浏览器访问一台计算机默认访问80端口),nginx就会返回用户之前写好的网页给浏览器,完成了一个网站的访问过程。在linux下安装nginx还是非常简单的。
debian/ubuntu通过以下命令来安装nginx:
1 | $ sudo apt-get install nginx |
cent os/red hat 通过以下命令
1 | $ sudo yum install nginx |
首次安装还nginx之后它默认启动了,但是计算机重启之后,nginx不会随系统启动,可以手动启动nginx
1 | $ sudo service nginx start |
或者让nginx随系统启动
1 | $ cat sudo service nginx start >> /etc/profile |
注意“>>”是两个,如果提示权限不足,就切换到root用户,使用:
1 | $ su root |
输入root用户密码
安装hexo
nginx给浏览器返回网页,这个网页就得自己来弄了,nginx可不会帮你,但是不会写网页代码怎么办?用来生成网页的工具很多,这里我使用了hexo,这个是一个台湾的大学生开发的用来生成静态网页的软件,真的佩服人家。
hexo依赖于node.js,首先在电脑上安装node.js,linux端可以这样
1 | $ curl https://raw.github.com/creationix/nvm/master/install.sh | sh |
或者
1 | $ wget -q0- https://raw.github.com/creationix/master/install.sh | sh |
然后重启终端,输入:
1 | $ nvm install 4 |
完成node.js 和部署插件rsync的安装
windows端可以到node.js的官网下载msi包安装后,在cmd输入:
1 | $ npm install -g hexo-cli |
现在可以输入:
1 | $ hexo init blog |
来新建一个名为blog的文件夹,这个文件夹的名字自己取,进入这个文件夹,输入
1 | $ hexo s --debug |
看到
1 | 15:14:02.409 INFO Hexo is running at http://localhost:4000/. Press Ctrl+C to stop. |
的字样后,打开浏览器,访问localhost:4000,看看能否打开一个hexo的网页,能打开的话,证明hexo已经能在电脑上运行了。
然后编辑blog文件夹下的”config.yml“文件,在大约73行,”theme”后面的就是hexo生成静态网页的时候所使用的主题,本站所使用的主题是next,主题存在于blog文件夹下的them文件夹内。
在约80行左右,会有”deploy:”字样,这里填写的是部署网站的时候所用的一些组件需要的参数,如果按照本博客所说来安装hexo的话,可以参照以下填写方法:
1 | deploy: |
在本地生成网页静态文件并部署到网站
切换到blog文件夹内(windows可以使用cmd,linux使用终端),输入命令
1 | $ hexo new "blog" |
然后在source的_posts_文件夹下面就会生成一个blog.md的文件,使用任何一个文本编辑器编辑这个文件,把想要写在博客上的东西直接编辑到这个文件内,就可以了。
然后切换到blog文件夹,输入:
1 | $ hexo g |
就可以生成网页静态文件了,生成的网页静态文件在public文件夹内,然后使用:
1 | $ hexo d |
就可以将网页文件部署到服务器,打开浏览器,就能看到做好的网站了。
一些小总结
先说一下nginx,nginx会向浏览器返回网站的网页文件,这些网页文件默认在“/usr/share/nginx/www/”下面,有时候不一定在“www”下,可能是“html”文件夹,我自己的服务器就是“html”。
部署便是讲已经做好的网页文件上传到服务器的这个文件夹下,浏览器便能正常访问到做好的网页。
然后说一下config.yml文件的”root:”,冒号后面是nginx的工作目录,nginx安装后默认一般都是”/usr/share/nginx/XXX/“下面,hexo部署的时候,便会将网页部署岛这个文件夹下面。
PS:我尝试在windows部署网站,但是遇到一些问题,第一次是环境错误,各种百度之后,可以成功部署,但部署之后无法访问,提示“403 forbidden”,便要手动将“/usr/share/nginx/XXX/”目录下面的所有文件夹(包括子文件夹)的属性改为775,文件属性改成664,才可以访问。