重回 Ubuntu 桌面

2016-06-05更新: 加入 硬件监控 内容


本文讲的是 Ubuntu 桌面。在服务器环境,当然我一直使用的都是 Linux 。公司的服务器是 CenOS ,自己的服务器用 Ubuntu。为了练手,用一台旧 Notebook 装了 ArchLinux 折腾着玩。


2010年,我使用了半年的 Ubuntu 桌面来办公,还写了一个 抛弃 Windows ,用 Ubuntu 办公 系列。经过这半年的测试,我认为,Ubuntu 已经完全可以满足办公的需求。

后来,我抛弃了 Office Boy 的工作,开始程序员生涯,桌面系统重新用回了 Windows 。

接下来的2年多时间里,我主要使用 cygwinMinGW 在 Windows 下工作。

2012年,由于从页游开发转向手游开发,我开始使用 Mac OS X 系统。OS X 与 Linux 同源,因此上手非常快。但由于极其讨厌 Finder 的垃圾设计,自己内心一直抵触使用 OS X 。

2013年,我的主要技术转向 cocos2d-x ,我不得不开始使用 XCode 和 Objective-C ,这样,就必须在 OS X 下工作了。

于是,在公司,我同时使用一台 Mac Mini 和一台 PC 开发。在家里,常用的设备目前是这样的: 继续阅读重回 Ubuntu 桌面

pure-ftpd 530 Login authentication failed

在服务器上,我一直使用的是 vsftpd,但由于 vsftpd 不支持 MLSD ,我开始转向 pure-ftpd

简单配置完毕后,登录一直出现错误。

-> % ftp ssi@xxxx.xx
Connected to xxxx.xx.
220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
220-You are user number 1 of 50 allowed.
220-Local time is now 12:08. Server port: 21.
220-This is a private system - No anonymous login
220-IPv6 connections are also welcome on this server.
220 You will be disconnected after 15 minutes of inactivity.
331 User ssi OK. Password required
Password:
530 Login authentication failed
ftp: Login failed

那么,下面是解决方案。 继续阅读pure-ftpd 530 Login authentication failed

从 Lighttpd 到 OpenResty

两年前,我写了 从Apache到Lighttpd。现在,是时候又发生改变了。

前段时间,我写了许多关于 OpenResty 的文章,并在公司内网服务器和自己的电脑上开始使用 OpenResty。

现在,我开始在外网部署 OpenResty。

编译和安装

OpenResty 的编译和安装就是老三套:

tar xzvf ngx_openresty-VERSION.tar.gz
cd ngx_openresty-VERSION/
./configure
make
make install

默认情况下,OpenResy 会安装到 /usr/local/openresty 中,编译时会默认使用 luajit。 继续阅读从 Lighttpd 到 OpenResty

基于 OpenResty 的服务器架构设计

这个服务器架构不一定能用上,记录在这里,算是一个小小的学习成果。

1. 技术选择

  • Cocos2d-x 3.x —— 客户端框架。
  • WebSockt —— 网络协议。
  • HTTP —— 网络协议。
  • OpenResty —— 基于 nginx+lua 实现 WebSocket 或 HTTP 服务器。
  • MySQL —— 数据库支持。
  • Redis —— NoSQL 支持。

继续阅读基于 OpenResty 的服务器架构设计

rsyslog/Python/LogAnalyzer 记录和查看日志

在新的项目中,我希望服务端、客户端的所有信息都通过独立的日志系统记录。这样的好处是:

  • 日志可以使用单独的服务器存储和管理,实现权限分离,增强生产服务器的安全性;
  • 使用通用的格式方便分析日志;
  • 所有日志统一处理;
  • 客户端可以直接和日志服务器对话。

RSYSLOG 是一个高效的日志系统,也是目前 Ubuntu 和 CentOS 默认使用的日志系统。

LogAnalyzer 是一个 PHP 写成的 Web 前端,使用它可以分析和查看 RSYSLOG 生成的日志。

经过研究,我准备直接使用这两个系统。本文记录了我在配置这两个系统中遇到的问题。

本文不会详细从头开始介绍 RSYSLOG 的配置,若希望得到这些信息,请参考下面的文章:

我的系统配置:

  • CentOS 6.3
  • RSYSLOG 5.8.10
  • LogAnalyzer 4.1.1(v4-beta)

继续阅读rsyslog/Python/LogAnalyzer 记录和查看日志

【未完待续】开始使用Docker

今天花了2个小时看了下 Docker 。感觉真是太好用了。

docker 的文档组织得非常好,想要了解的内容基本上在官方文档中都有讲到。我把这些内容用中文做一下简单梳理,方便大家在1个小时内快速了解 docker。

1. 安装

1.1 Mac OS X

下面的内容主要来自于: Installing Docker on Mac OS X

在 OS X 上,docker 提供了一个 PKG 安装包,下载安装即可。如果觉得 github 下载太慢,可以把链接粘贴到 迅雷 或者 旋风 中下载。当然如果有 VIP 就更快了。

安装完毕后,在 terminal 中执行: 继续阅读【未完待续】开始使用Docker

IBM developerWorks 线程文章汇总

IBM developerWorks 线程文章汇总

最早我在 POSIX線程(pthread)入門文章分享 看到了关于 IBM developerWorks 中线程文章的一些汇总。但是按照该文中提供的链接一一找去,发现均不能访问。

原来 IBM developerWorks 对目录结构进行了修改,因此原来的链接就都作废了。

由于找不到 IBM developerWorks 中的相关汇总页面,我就人肉汇总了一次。

原文中只有 C 和 C++ 部分的内容,我又加入了 Python 和 HTML5 的内容。

下文的繁体字内容来自 POSIX線程(pthread)入門文章分享继续阅读IBM developerWorks 线程文章汇总

如何升级Ubuntu中的OpenSSL库

如何升级Ubuntu中的OpenSSL库

How to upgrade OpenSSL in unbutu?

4月8日爆出的 heartbleed 漏洞要求把 OpenSSL 升级到 1.0.1g 版本。

关于这个漏洞的技术说明,可以看这里: 关于OpenSSL“心脏出血”漏洞的分析

Heartbleed test 网站,可以测试自己的网站有没有这个漏洞。

我最担心的,是在升级 OpenSSL 的过程中,远程 SSH 无法连线。

OSChinaSegmentfault 上询问后,得知这种情况不会发生。

另外,可以采用比较保险的方法:

保险起见,你在现有的ssh连接上输入命令升级openssl,然后重启服务。不要断开SSH连接。然后新开一个SSH会话,确认一切正常后再断开旧的SSH连接。

升级的方法,参照这几篇文章吧,我就懒得写了:

主机增加到1G内存

入手阿里云服务器之后,我的博客进入了一段稳定的时期,终于不用到处找合适的主机了。但由于主机的内存太小(512MB),我还是想了一些方法来进行优化。例如挂载swap文件从Apache到Lighttpd 等等。

但最近几天,博客无响应变得频繁,基本上每天都有2\~3次。远程上主机 top 看一下,还是内存吃紧。博客无响应的时候,可用内存只剩4MB,大多数内存被 php-fpm 进程吃掉了。

于是在主机后台把内存加到了1GB,阿里云自动计算到本次到期需要的费用,花了153元。

重启主机后,访问博客瞬间感觉高大上了。