这里记录下我的博客搭建过程。
购买VPS
VPS提供商有很多,我用的美国 BudgetVM 提供的linux vps,最便宜的那种,128M RAM、10G硬盘、一个固定的IPv4的IP地址,3个IPv6的IP地址,500G流量/月,14.99$/年,非常便宜,一年不到100元。这样的 配置搭个个人网站完全够了。
购买之后可以通过信用卡或paypal付款,付款后需要大约十分钟进行系统安装等工作,然后你就拥有一台新电脑了,只是看不见而已。 可以通过 ssh root@ip-address
进行访问了。
我选的是Ubuntu 12.04 32位的,默认安装了Apache。
域名
买了VPS后虽然有固定的IP地址了,但没有人会去记一串数字的地址,而且以后如果迁移到其他的VPS提供商时,IP会变的,所以最好有个自己的域名。
我的域名是在万网买的,150元3年。是.net
的域名,用.cn
的话还得备案什么的超级麻烦。
有了域名和IP地址后,还要把两者关联起来,就需要配置DNS解析了。我用的DNSPod(<www.dnspod.cn>),可以免费使用,如果要用人家的增值服务,那肯定是要付费的。
配置DNS后需要一定的时间来使DNS服务器的记录更新,很快就可以通过 http://you-domain
来访问了。如果你看到Apache的默认页面: it works
,说明到目前为止的配置都是成功的,否则就google吧。
选择并搭建博客软件
开源的博客软件非常多,最著名的应该是wordpress了,我选的是wordpress3.5的。
数据库选的是mysql 5.6。
web服务器用的nginx,占用的资源比Apache更少,能支持的连接数更多,对于资源不多的服务器还是很好的。
由于wordpress是用php编写的,所以也需要安装php。
这些软件都是开源免费的,典型的lnmp。php、nginx、mysql都是采用源码安装,源码安装的好处就是可以用最新版的。
要注意的就是:一定要把安装过程中的用到的命令、脚本都记录下来,以后系统重装、迁移到其他的VPS时,只需要把记录下的脚本重新跑一遍就ok了。
下面是这些软件的安装过程。我的所有下载的源码、软件都是放在一个目录下,安装脚本也放在同一个目录下,源码也是解压到这个目录,各个软件的配置文件也放在这个目录的 conf
目录下。
新建一个普通用户和组
之所以要用普通用户是因为,万一这些软件有个漏洞啥的被人攻击了,破坏会小点,因为没有超级用户的权限。不同的应用最好采用不同的用户来运行。
我新建了一个用户组appgroup(方便按组分配权限);两个普通用户 mysql (用于运行mysql数据库)和 php(运行php进程和nginx工作进程)。
命令:groupadd appgroup && useradd -r -g appgroup mysql && useradd -r -g appgroup php
安全前升级系统与清理
安装其他软件之前最好先升级系统,同时把不需要的软件也清理了,以免占用资源。
下面是我的清理脚本:
apt-get update && apt-get upgrade
# clean up os first
apt-get -y purge apache2_* bind9-* xinetd samba-* nscd-* portmap sendmail-* sasl2-bin
apt-get -y purge lynx memtester unixodbc python-* odbcinst-* tff-*
apt-get autoremove && apt-get clean
安装nginx、mysql、php
这三个都是采用源码安装,本来想把安装脚本贴出来的,但想想网上有一大堆这样的教程,且每个人的环境都不一样,还是让读者自己搜索解决。
软件的注意事项
这里说下注意事项。
配置nginx时要注意
- 要指定用户和用户组来执行工作进程。nginx的主进程主要是用来接收连接并分发给工作进程进行处理、监控工作进程,工作进程处理实际的请求。
- 要指定使用
epoll
事件处理方式,这是一种高性能的工作模式。
mysql注意事项
- 不要把mysql暴露在公网上。
- 不要用mysql数据库的root用户来连接博客的数据库,应该给每个数据库实例分配一个用户。与系统的root用户与普通用户一样的原因。
php注意事项
- 运行php也要指定用户和用户组。(我直接在上面的脚本里进行指定)
- 运行php-fmp时,也要指定只监听本地端口,不要暴露在公网。
权限
安装过程中还得考虑各种读写执行权限的问题,没有相应的权限容易出现文件找不到、不能读取之类的问题。坚持最小权限原则,只给必要的权限!
配置开机启动脚本
VPS可能会重启的,自己也可能重启系统,但不能每次重启都要手动启动那些软件,所以很有必要写个开机启动的脚本,把整个博客拉起来。
把启动脚本放在 /etc/init.d
目录,或者建个软链接链接到启动脚本。
备份数据和压缩日志
数据备份是非常重要的,谁也不能保证VPS不出故障,多个备份总有好处,这里主要备份数据库的数据。访问日志也有必要保存下来,以后可以写个脚本来分析下啥的,因为磁盘空间只有10G,需要压缩下。
数据备份与日志压缩最好每天进行,所以需要写个脚本,用crontab调度执行。
后记
在搭建过程中也碰到了一堆问题,借助google基本上解决了,到目前为止,这个博客的运行还算稳定。有空的也可以去看看: 码蜂笔记 http://coderbee.net
通过折腾这个博客,也学到很多东西。一句话说就是:谁折腾过,谁知道!
在这个VPS上,我还安装了个Git,加上ssh自动登录,我又有了个方便的Git服务器。
在自己的电脑上安装了ssh客户端后,执行这样一个命令: ssh -qTfnN -D 7070 usr@coderbee.net
,加上Firefox的AutoProxy插件,我又有了一副方便的梯子,可以看看墙外的世界。
真心觉得所有码农都应该有个VPS,如果你现在心动了,可以猛戳这个链接 https://www.budgetvm.com/account/aff.php?aff=1005 购买一个。最便宜的93块钱,还不够跟朋友出去吃顿饭。
我在家里用scp从vps上下载文件的速度。
相关推荐
同时,我们也会提及如何通过博客搭建笔记来记录和分享这一过程。 首先,BlueZ是Linux内核中的官方蓝牙协议栈,它提供了完整的蓝牙协议实现,包括经典蓝牙(Bluetooth Classic)和低功耗蓝牙(Bluetooth Low Energy...
- 安装过程中可能出现的问题(如YUM配置问题等),可参照博客中的其他文章解决。 - **配置SVN环境** - **创建Project** - 在/var/svn_repo目录下创建镜像Project,命名为webmail2010。 - 设置正确的目录权限,...
【Git基础与博客搭建】 Git 是一款分布式版本控制系统,它允许开发者追踪代码的变化,并协同管理项目。对于想要搭建博客的朋友,尤其是使用GitHub Pages服务的人来说,掌握基本的Git操作至关重要。以下是一些常用的...
Spring Boot简化了Spring应用的初始搭建和运行过程,而Spring Cloud则为构建分布式系统提供了工具集,如服务发现、配置中心、负载均衡等。 通过这四天的笔记学习,读者不仅可以掌握Spring的基本用法,还能了解到其...
"MarkDown语法.md"可能是关于Markdown语言的学习,这是一种轻量级的标记语言,常用于编写文档或博客。 3. **MySQL**: 数据库管理系统,用于存储和检索数据。学习笔记可能会涵盖SQL查询、事务处理、索引优化等方面,...
这种模板化的设计方式大大简化了网页创建的过程,尤其是对于非专业设计师的个人博主来说,可以快速搭建起个性化的博客平台。 这个“黑色复古仿皮具笔记本”模板以其独特的设计风格吸引眼球。黑色作为主色调,给人一...
在本篇博客项目学习笔记中,我们将探讨Thymeleaf和JPA这两个核心技术,它们在现代Web开发中的应用以及如何在实际项目中整合使用。 首先,Thymeleaf是一种现代服务器端Java模板引擎,主要设计用于处理HTML,但也支持...
标题提到的“lqyasl.github.io”是一个个人博客项目,作者通过Hexo框架与GitHub Pages服务,建立了一个方便管理和复习前端学习笔记的平台。这样的博客不仅有助于个人知识体系的构建,还可以与他人分享和交流。下面将...
个人博客搭建 如果想搭建个人的博客系统,可以购买优惠服务器后,参考 在服务器搭建 用于知识点的梳理 【阿里云】双十一拼团 2核4G3M 664元/3年(强烈推荐) 【阿里云】云服务器双11狂欢特惠,1核2
1. **SpringBoot核心**:项目可能使用SpringBoot作为基础框架,提供了自动配置、内嵌式Web服务器、依赖管理和命令行接口等功能,简化了Java应用的搭建和运行。 2. **前后端分离**:前端可能使用React、Vue.js或...
自学传智博客struts2-黎活明-源码-第01讲_01介绍struts2及struts2开发环境的搭建_DemoStruts2.rar; 笔记地址:http://www.guloulou.com/?p=1253
最近几个月一直在整理之前的技术笔记,目前虽在体系上还尚有欠缺,但内容方面整理的七七八八了,这些内容一部分记录在了云笔记中另一部分记录在了博客上。于是决定搭建一个个人的技术博客网站以方便技术体系和相关...
这个压缩包文件“黑色...使用者可以基于这些文件快速搭建一个具有独特视觉风格和个人作品展示功能的博客网站。对于学习HTML和CSS的毕业生来说,这是一个很好的实践项目,可以帮助他们理解和应用网页设计的基本原理。
这个名为“lhy308720327-master”的压缩包文件很可能是一个开源的前端项目,用于搭建一个JavaScript个人博客平台。 在JavaScript这个强大的脚本语言基础上构建个人博客网站,我们可以涉及到以下几个关键知识点: 1...
4. 笔记或博客页面:这个部分可以用来发布与商务相关的文章、技巧或行业洞察,吸引并保持用户的关注。 5. 联系我们:提供公司联系方式,如地址、电话、邮箱,以及可能的联系表单,方便潜在客户或合作伙伴与企业取得...
大数据系统学习笔记-0002 - Hadoop集群搭建 - 资源包 资源列表: hadoop-2.7.4.tar.gz jdk-8u301-linux-x64.tar.gz zookeeper-3.4.10.tar.gz
【简记个人博客网站源码 v2.10.01.rar】是一个包含个人博客网站完整源码的压缩包,版本号为v2.10.01,它主要用于搭建和自定义个人博客平台。这个源码可能由前端界面、后端服务器逻辑以及数据库结构组成,适用于那些...
《Spring技术内幕 学习笔记》是一份深入探讨Spring框架核心机制的学习资料,结合作者zzc1684在iteye博客上的博文,我们可以从中学习到Spring框架的多个重要知识点。Spring作为Java企业级应用开发的基石,其设计思想...
### 传智播客Java SE基础毕向东老师全程笔记知识点概览 #### 第一章:编程基础 **Java的特性和优势:** - **简单性:** Java的设计初衷是为了简化编程,减少编码负担。 - **面向对象:** Java是完全面向对象的语言...