yum安装的Nginx和编译安装的PHP出现502

心血来潮想试试在各种安装方式下的服务之间的耦合度。

PHP的配置内容:

[test]
listen = /tmp/php_test.sock
listen.mode = 666
user = php-fpm
group = php-fpm
pm = dynamic
pm.max_children = 50
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500
rlimit_files = 1024

- 阅读剩余部分 -

LNMP环境部署typecho出现404

今天做两台web服务器的高可用集群,在LNMP环境上安装typecho博客程序,使用NFS共享网站根目录。

其它的过程略过不表,只是到了安装typecho这里,本来应该是一件很容易的事情,但却出现了些小插曲。

typecho安装成功后,成功进入主页,但是点击其它页面都会出现404错误。分析Nginx日志只有404,没有其它报错,于是怀疑是NFS权限问题,但经过检查后并无差错。

无奈之下祭出Google大法,原来在lnmp环境中,typeecho必须设置伪静态的URL Rewrite,然而之前一直在lamp上搭建typecho并没有这种问题。

- 阅读剩余部分 -

Linux集群架构(一)keepalived高可用

一、服务器集群介绍

服务器架构通过功能可分为高可用、负载均衡两大类。

高可用一般软件有heartbeat、keepalived。
这两个软件的核心原理都是通过心跳线连接两台服务器,一台宕机另一台接管服务。
heartbeat只支持两个节点,并且在centos6上面有一些问题,比如说切换的时候不是很及时,最重要的是它早已停止更新。

负载均衡可以实现大量的访问,硬件环境在前端需要一台服务器作为分发器,负责把用户请求分发给后端服务器,后端的数量至少为2。
开源软件有LVS、keepalived、haproxy、Nginx。
商业的有F5、netscaler

- 阅读剩余部分 -

隐藏web相关服务的版本号

一、隐藏apache的信息

在apache的http.conf中添加或修改成如下代码即可:

ServerTokens Prod
ServerSignature Off

二、隐藏Nginx版本信息

Nginx的版本号主要在两个地方会有:

  • 第一个是HTTP header,有个Server:nginx/1.x.x类似会暴露Web服务器所用软件名称以及版本号,这个也是大多数Web服务器最容易暴露版本号的地方。
  • 第二个地方是Nginx出错页面,比如404页面没有找到等,这是如果用户没有指定页面的话,那么Nginx自己的页面会有版本戳记。

- 阅读剩余部分 -

shadowsocks-libev报错: error while loading shared libraries: libsodium.so.13

shadowsocks-libev报错:

try to bind interface: 0.0.0.0, port: 59906
ss-server: error while loading shared libraries: libsodium.so.13: cannot open shared object file: No such file or directory

字面上的意思是共享库没找到,那就手动找一下看看是不是真的没有这东西。

find / -name libsodium.so.13

- 阅读剩余部分 -

shell生成随机字符的几种方法

一般在写shell脚本的时候,会有需要生成一些随机字符,比如在写批量生成用户+随机密码的脚本的时候,就会用到随机生成的字符串来作为新建用户的密码。以下的几种方式可以随机生成字符串。当然,还要许多方法都能完成文章标题的目的,这里仅列举出来部分的。

1.使用shell的random变量

[root@virmach ~]# echo $RANDOM 
1908

2.使用openssl

[root@virmach ~]# openssl rand -base64 8 # 8是8位的意思
K0NYLr0u0Xo=

- 阅读剩余部分 -