为公司新的英国分支安装Phalcon,Nginx,PHP,MySQL环境

rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm

安装php5.4

yum install php54w.x86_64 php54w-cli.x86_64 php54w-common.x86_64 php54w-gd.x86_64 php54w-ldap.x86_64 php54w-mbstring.x86_64 php54w-mcrypt.x86_64 php54w-mysql.x86_64 php54w-pdo.x86_64 php54w-devel

安装php-fpm
yum install php54w-fpm

安装Phalcon2.0

git clone –depth=1 git://github.com/phalcon/cphalcon.git
cd cphalcon/build
sudo ./install

安装MySQL
yum install mysql mysql-server #输入Y即可自动安装,直到安装完成
/etc/init.d/mysqld start #启动MySQL
chkconfig mysqld on #设为开机启动

mysql_secure_installation #为root账户设置密码

安装nginx
yum install nginx #安装nginx 根据提示输入y进行安装
chkconfig nginx on #设置nginx开机启动
service nginx start #启动nginx

Linux 挂载硬盘

1.查看硬盘

fdisk -l

2.格式化硬盘

mkfs.ext3 /dev/vdb

3.挂载硬盘

mount /dev/vdb /mnt/data/

4.修改分区表

vim /etc/fstab

/dev/vdb                /mnt/data               ext3    defaults        0 0

 

解决 Nginx 502 : child 3230 exited on signal 15 (SIGTERM) after 130.008684 seconds from start问题

有一台机器,因为脚本执行时间比较长,导致nginx 502. 只有重启机器才管用。后来发现原来是因为系统文件打开数量限制,导致php-fpm 无法重启

后台日志好多Warning:

[21-May-2016 03:47:21] WARNING: [pool www] child 3195, script ‘/mnt/data/web/xxx/index.php’ (request: “GET /index.php”) execution timed out (31.359929 sec), terminating
[21-May-2016 03:47:21] WARNING: [pool www] child 3191, script ‘/mnt/data/web/xxx/index.php’ (request: “GET /index.php”) execution timed out (35.040343 sec), terminating

[21-May-2016 03:47:21] WARNING: [pool www] child 3189 exited on signal 15 (SIGTERM) after 110.009368 seconds from start
[21-May-2016 03:47:21] NOTICE: [pool www] child 3236 started
[21-May-2016 03:47:21] WARNING: [pool www] child 3191 exited on signal 15 (SIGTERM) after 110.009318 seconds from start
[21-May-2016 03:47:21] NOTICE: [pool www] child 3237 started
[21-May-2016 03:47:21] WARNING: [pool www] child 3195 exited on signal 15 (SIGTERM) after 90.009370 seconds from start

以下是解决方案:

1、提升服务器的文件句柄打开

打开

/etc/security/limits.conf : (增加)
*    soft    nofile    51200
*    hard    nofile    51200
# vi /etc/security/limits.conf 加上
* soft nofile 51200
* hard nofile 51200

2、提升nginx的进程文件打开数

nginx.conf : worker_rlimit_nofile 51200;

3、修改php-fpm.conf文件,主要需要修改2处。

命令 ulimit -n 查看限制的打开文件数,php-fpm.conf 中的选项rlimit_files 确保和此数值一致。

<value name="max_requests">10240</value>

<value name="rlimit_files">51200</value>

4、# vi /etc/sysctl.conf

底部添加

fs.file-max=51200

注:

file-max与ulimit的关系与差别

1. file-max的含义

man proc,可得到file-max的描述:

fs.file-max : 该文件指定了可以分配的文件句柄的最大数目 fs.file-max 为512 乘以 processes (如128个process则为 65536);

/proc/sys/fs/file-max

              This  file defines a system-wide limit on the number of open files for all processes.  (See
              also setrlimit(2),  which  can  be  used  by  a  process  to  set  the  per-process  limit,
              RLIMIT_NOFILE,  on  the  number  of  files it may open.)  If you get lots of error messages
              about running out of file handles, try increasing this value:

即file-max是设置 系统所有进程一共可以打开的文件数量 。同时一些程序可以通过setrlimit调用,设置每个进程的限制。如果得到大量使用完文件句柄的错误信息,是应该增加这个值。

也就是说,这项参数是系统级别的。

echo 6553560 > /proc/sys/fs/file-max

或修改 /etc/sysctl.conf, 加入

fs.file-max = 6553560

重启生效

2. ulimit的

Provides control over the resources available to the shell and to processes started by it, on systems that allow such control.

即设置当前shell以及由它启动的进程的资源限制。

显然,对服务器来说,file-max, ulimit都需要设置,否则就可能出现文件描述符用尽的问题,为了让机器在重启之后仍然有效,强烈建立作以下配置,以确保file-max, ulimit的值正确无误:

1. 修改/etc/sysctl.conf, 加入

fs.file-max = 6553560

2.系统默认的ulimit对文件打开数量的限制是1024,修改/etc/security/limits.conf并加入以下配置,永久生效

* soft nofile 65535 
* hard nofile 65535

修改完之后,重启即可生效

 

升级Win10系统后导致xampp无法启动

升级完Win10系统后,发现原来安装的Xampp软件包无法启动,Google了一下,原来是因为系统自带的服务World Wide Web Publishing Service占用了80端口,停止服务,禁用服务。重新启动,Xampp正常运行。

具体步骤可以参考如下:

  1. Go to Start and type “services.msc”
  2. Locate “World Wide Web Publishing Service”
  3. Right-click on that entry, select “Stop”, then restart XAMPP.