你错了,Nginx其实没有运行

起始

最近我的VPS出了点问题,于是上午对其进行了重启。
重启之后,除了SSH可以访问之外,其余的都不能访问了(网站)。于是开始检测各种数据,包括对iptables的修改(不下于10次),还有卸载了某安全软件,还是不能访问。

转折点

在这过程中,由于我是用lnmp安装的,所以也重启了好几次服务器等。在这期间,我曾收到这样一个信息,但被我忽略了,信息如下(后来翻译的,大致意思):

……XXX error.

Nginx has been running

第一行是什么什么错误或者什么什么警告,然后下面就是一句Nginx已经启动(大意).于是我就搞了一上午。就差重装系统了啊,重装系统。。。重装。。。。。。

Linux+Nginx+PHP+MySQL
image-1791

解决方案

提示:如果你也是用的lnmp安装的系统,如果你也是重启之后网站访问不了,如果确认防火墙没有问题(可使用: service iptables top 停止防火墙,然后访问一下),那么你可以使用下面的命令:

1
2
3
 /etc/init.d/nginx status
    或者
     /root/lnmp status

假如提示nginx没有运行,那么,亲恭喜你,原因找到了!就是Nginx根本就没有运行!
这时候,你再次运行一下:

1
      /root/lnmp restart

查看一下Nginx上面的那一行错误信息(就在提示Nginx已经运行的上一行),去把那个错误解决掉,然后再次运行Nginx就可以了!~

网站迁移进行时

步骤1:搬了吧,还是搬了

大概一个月前,我的主机商bluehost给我发来邮件(现在说来应该是以前的主机商了),说我的空间还有一个月即将到期了.于是我就开始筹措着给网站搬个家了,顺便提升一下速度,然后呢,再提升一下我的Linux技术(彼时,我正在学习Linux).于是呢,换个vps吧.去网上找了一大圈,发现真的VPS太多了,找起来很困难啊,只好随便选了一个(具体名字就不说了,因为发生了点纠纷,名称用A代替吧).立刻就下单了,A呢在24小时内,也把账号和密码都发我了,可是….可是……我怎么登陆不了控制面板??于是去ping一下,发现那个新ip竟然在国内都ping不通(去掉墙的问题,因为他们主站访问速度都很慢),也不知道当时LZ(搂住,楼主)是怎么想的,竟然在他们主站访问速度都那么慢的情况下居然还买了他们的vps……难道这是传说中的神经短路??f*ck…额,今天看到新闻说中国雅虎要关闭邮箱服务了..(貌似跟我没多大关系..)..跑题了…然后因为我就想到了退款,去网上一搜索竟然发现他们是不接受退款的,于是只好采取下策了:去Paypal投诉(忘了说,我是用Paypal买的).大概是10号左右买的,到现在钱还没退还回来……呜呜呜….这个教训告诉我,在海外购物需要慎重…再慎重……

在大概第六天的时候,我的QQ签名改成了这样:做任何事情,都不能把别人的帮助计算在内……

于是,那天晚上我做了一个决定!

买!立刻,马上买!!

步骤2:700大洋没了

没错,我又找了一个国内信誉不错的VPS服务商,最重要的是他们有中文服务(其实中英文都还好,不过有中文最好了),最最重要的是他们可以7天无条件退款!!这可是一针强心剂啊!一点也不后悔的买了,然后立刻ping了一下ip(有了上次的教训),然后一下买了好几个ip备用着(因以前被墙过一个ip),哇,访问速度很快,很牛BO啊!!万分高兴啊!!!

步骤3:苦逼的配置之路

我看了他们说vps还是不要用Apache了,用Nginx把,于是我头也不回的去了Nginx的家,只因为她说今晚只有她一个人在……

步骤是这样的,我去了控制面板,然后脱GUANG了系统的外衣(重装),一个纯净的Centos就出炉了.(交代一下,我在虚拟机里面搞过一个Centos6.3,并且还编译安装成功了Nginx+PHP+MySQL,当时觉得自己挺牛的.事实是…我想多了)于是我就像个愣头青一样热火热茶的搞配置了,找了教程,配置了大概3天,不行!各种配置不成功!!各种错误!!!找客服求助吧,这个事情还是很奇葩的,在客服将lnmp的链接发给我的时候,我也刚好找到了.

于是,lnmp我来了…..(编译安装,只需一键)

Linux+Nginx+PHP+MySQL
image-1752

步骤4:揪心的域名绑定

安装完lnmp都还好,域名绑定可难住我了(因为我有几枚二级域名),这个时间又搞了好几天,大概是什么呢,就是能绑定顶级域名,但二级域名死活绑定不上(对了,期间我还装了一个Nginx的控制面板,发现那个多余了…挺难用的..叫啥?不记得了),于是我去国外的一个论坛发帖,各种百度,各种谷歌,各种BING,结果还是不行…于是我去了CSDN论坛,用100分的”酬劳”发帖询问怎么绑定域名的.可惜……可惜……也许是Nginx知道的人太少…也许是Nginx的配置很难(纯属扯DAN)…直到我找到了答案也还是没有人回复我的帖子……

我是怎样找到答案的?且听我慢慢道来:

lnmp的安装里面明明有个添加虚拟主机的(说实话,当时我是以土鳖思维看的,因为哥原来就是虚拟主机啊啊啊啊…),我以为那个没多大用,后来才发现,那个就是添加域名的啊啊…(可以添加顶级域名,也可以添加二级域名的).不过呢,我还是搞了两份域名绑定的源码下来,下面的就是:

Nginx绑定顶级域名

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
server  # 这个server是一定要的,我就是因为没写在这个里面走了N多冤枉路.
    {
        listen       80;
        server_name www.s.in s.in # 需要绑定的域名
        index index.html index.htm index.php default.html default.htm default.php;
        root  /home/xxx; # 替换成你实际的绝对路径

        include discuzx.conf;
        location ~ .*\.(php|php5)?$
            {
                try_files $uri =404;
                fastcgi_pass  unix:/tmp/php-cgi.sock;
                fastcgi_index index.php;
                include fcgi.conf;
            }

        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
            {
                expires      30d;
            }

        location ~ .*\.(js|css)?$
            {
                expires      12h;
            }

        access_log off; # 这个是日志功能,一般用不上可以off掉.如果要用改成on就行了.
    }

Nginx绑定二级域名

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
server
    {
        listen       80;
        server_name bbs.s.in; # 二级域名
        index index.html index.htm index.php default.html default.htm default.php; # 默认首页
        root  /home/ss;# 替换成实际路径

        include discuzx.conf; # 这个是伪静态的文件,继续往下看.会有详解.
        location ~ .*\.(php|php5)?$
            {
                try_files $uri =404;
                fastcgi_pass  unix:/tmp/php-cgi.sock;
                fastcgi_index index.php;
                include fcgi.conf;
            }

        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
            {
                expires      30d;
            }

        location ~ .*\.(js|css)?$
            {
                expires      12h;
            }

        access_log off;
    }

好了,配置文件就是这样,如果报错记得检查一下:权限(使用ls -l,看下是否有读写权限,chmod 755 [文件或目录名,如果需要让一个目录下的所有文件都有此权限,可以这样写:chmod 755 [目录名]/* ])和用户组(有时候只能使用www用户启动,如果不是www用户及用户组,使用chown www:www [文件名或目录名] 就可以更改,如果需要改目录下跟chmod一样加上”/*”就可以了).

修改完之后,记得使用:/etc/init.d/nginx restart 重启Nginx让配置生效.

步骤5:伪静态也很坑爹啊

其实标题不是真的想说的,我真的想说的其实是–没文化,真可怕!!

因为搬过来的有wordpress,discuz这些程序,于是就需要配置伪静态,我就开始去网上找规则,找了很多都不行.

后来看到这样一句话:规则都必须写在server{ }里面.我试了试!竟然真的可以!!!

伪静态配置规则(Discuz X 系列可用):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
server{
rewrite ^([^\.]*)/topic-(.+)\.html$ $1/portal.php?mod=topic&topic=$2 last;
rewrite ^([^\.]*)/article-([0-9]+)-([0-9]+)\.html$ $1/portal.php?mod=view&aid=$2&page=$3 last;
rewrite ^([^\.]*)/forum-(\w+)-([0-9]+)\.html$ $1/forum.php?mod=forumdisplay&fid=$2&page=$3 last;
rewrite ^([^\.]*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=viewthread&tid=$2&extra=page%3D$4&page=$3 last;
rewrite ^([^\.]*)/group-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=group&fid=$2&page=$3 last;
rewrite ^([^\.]*)/space-(username|uid)-(.+)\.html$ $1/home.php?mod=space&$2=$3 last;
rewrite ^([^\.]*)/blog-([0-9]+)-([0-9]+)\.html$ $1/home.php?mod=space&uid=$2&do=blog&id=$3 last;
rewrite ^([^\.]*)/(fid|tid)-([0-9]+)\.html$ $1/index.php?action=$2&value=$3 last;
rewrite ^([^\.]*)/([a-z]+[a-z0-9_]*)-([a-z0-9_\-]+)\.html$ $1/plugin.php?id=$2:$3 last;
if (!-e $request_filename) {
        return 404;
}
}

其他规则在网上能搜索到,大家自行百度,谷歌吧.记得一定要放在server{ //规则 } 里面,不然Nginx会报错的

一点感触就是——这几天学的Linux命令比过去一年都学的多.而且我发现我越来越喜欢命令行界面了,倒是对图形化没多少赶脚了.

号外:

最后,如果最近要换vps的朋友,也可以通过diavps去购买.速度都还不错,服务也挺好的.

更新了一些外观

修改的一些部分

  • 修改文章宽度
  • 在边栏增加“简单网址”【不定期更新IT方面实用网址】
  • 修改文章内页顶部的AD
  • 修改h2的样式
  • 修改blockquote的样式

修改后首页

 

更新后的首页截图
image-1636
更新后的首页截图

下次可能会更新的地方

  • 在每个文章之间添加文章简介
  • 修复文章过长的问题
  • 修复头部单一样式
旧版截图
image-1637
旧版截图

 

服务器升级

服务器终于升级了

刚收到主机托管商的邮件,说了一大堆鸟语,Google翻译了一下,大概意思明白了。

从我买了之后,服务器就没升级过。这次升级还是第一次。据说最重要的是,从CentOS 5升级到CentOS 6.

关于CentOS 6

CentOS 是一个基于Red Hat 企业级 Linux 提供的可自由使用的源代码企业级的 Linux 发行版本。每个版本的 CentOS 都会获得十年的支持(通过安全更新方式)。新版本的 CentOS 大约每两年发行一次,而每个版本的 CentOS 会定期(大概每六个月)更新一次,以便支持新的硬件。这样,建立一个安全、低维护、稳定、高预测性、高重复性的 Linux 环境。

服务商邮件截图

服务商邮件截图
image-1490

服务商邮件截图

还忘记一个重要信息:升级过程中,网站大概会有两小时不能访问。囧……

购买我所在的服务商的主机请访问:http://www.bluehost.com/track/dcxy00

更换了主题

 

 

原有主题截图
image-1384

原有主题截图

今天更换了主题,在zww的网站选了很久,最终选择了您看到的这款收费主题.

以前从没用过收费主题,这次这个主题很吸引我.

可能是因为它的简洁,还有颜色等等方面.如果喜欢这款主题的朋友需要购买,请移步:http://zww.me/archives/25142

新主题截图:

新主题文章页
image-1385

上网时间长了,也就慢慢喜欢简洁了.

最近看了很多设计师的博客,所以希望获得一款比较心仪的主题,遇到这个主题,我很荣幸.

thank zww.