如何让Linux后台运行命令或php

用 telnet/ssh 登录Linux 服务器,运行了一些耗时较长的任务, 结果却因为关闭远程窗口任务中途失败。这是我们就需要用到Linux的后台运行命令

基础方法:下达的命令后面加上&,就可以使该命令在后台进行工作,这样做最大的好处就是不怕被ctrl+c这个中断指令所中断。可以通过执行fg来将其恢复到前台。有多个进程在后台运行,需要恢复到前台来执行的时候,就要可以用jobs列出所有在后台执行的进程,那个中括号([ ])里面的数字就是jobs代号,从而通过fg 数字恢复指定的后台进程.

进阶方法:以上方法只是把命令放入后台,他还是会跟远程窗口绑定在一起,一旦远程窗口关闭,这些后台运行的资源也会被释放,从而是任务终止,要想真正后台运行就需要用nohup
nohup php cli.php &
会有提示:
[~]$ appending output to nohup.out
运行成功,同时把程序运行的输出信息放到当前目录的 nohup.out 文件中去
这样就是真正的后台运行了

相关日志

  • 2012-03-20 -- centos6服务器YUM安装LNMP(LINUX+NGINX+MYSQL+PHP)
    之前都用的lamp,这次配置一个lnmp来看看,试试Nginx是不是好用 关闭SELINUX vi /etc/selinux/config #SELINUX=enforcing #注释掉 ...
  • 2011-03-24 -- linux centos 5 lamp(apache mysql php) yum自动安装shell脚本
    手头有N台linux centos 5的服务器,每次配置都要打很多命令,不想这么烦下去了。 自己写了一个自动安装脚本,包括了apache mysql php的自动Yum安装。最后还设置了防火墙。 ...
  • 2009-06-11 -- 原来PHP也有命令行模式(CLI)
    从 PHP 4.3.0开始,CLI/CGI 二进制执行文件的文件名、位置和是否存在会根据 PHP 在系统上的安装而不同。在默认情况下,当运行 make 时,CGI 和 CLI 都会被编译并且分别放置在...
  • 2008-09-17 -- 高性能网站架构-LLMP
    在网站架构设计中,大家一定对 LAMP (LinuxApacheMysqlPhp) 不陌生。 LAMP确实是一个非常优秀的架构,秉承着自由,开放,高效,易用的设计理念。 但是,本文不打算探讨LAM...
  • 2012-02-28 -- 如何使用php日志调试rewrite规则(不受apache和iis限制)
    需要在IIS和apache同时调试好静态重写的规则,发现调试rewrite规则真是个神一样的工作,你根本就不知道它到底怎么翻译的,解析到哪里去了。 在网上搜了一下,发现一个朋友在apache下开...
  • 2012-01-14 -- 关于apache下网站加速利器mod-pagespeed
    自从有了自己独立服务器,一直认为自己网站速度还是挺快的,但自从上了监控宝之后,发现其实自己服务器的服务经常断。有很多时候网站是不可用的,这个让我很郁闷。一直在看dbanotes(大冯)的博客,知道他的...

centos6服务器YUM安装LNMP(LINUX+NGINX+MYSQL+PHP)

之前都用的lamp,这次配置一个lnmp来看看,试试Nginx是不是好用

关闭SELINUX
vi /etc/selinux/config
#SELINUX=enforcing #注释掉
#SELINUXTYPE=targeted #注释掉
SELINUX=disabled #增加

shutdown -r now #重启系统

安装ngnix

安装GCC编译器及相关工具
yum -y install gcc gcc-c++ autoconf automake
安装模块依赖的库
yum -y install zlib zlib-devel openssl openssl–devel pcre pcre-devel
更新系统时间
ntpdate time.nist.gov
让对时服务开机启动
chkconfig ntpd on

如果需要编译安装最新的
获取ngnix版本
wget http://nginx.org/download/nginx-1.0.14.tar.gz
tar zxvf nginx-1.0.14.tar.gz
cd nginx-1.0.14

直接yum安装
yum install -y nginx
将安装在/usr/share/nginx/
启动nginx
service ngnix start

安装PHP

cd /etc/yum.repos.d
wget http://dev.centos.org/centos/5/CentOS-Testing.repo
rpm –import http://dev.centos.org/centos/RPM-GPG-KEY-CentOS-testing

yum install -y php php-mysql php-gd libjpeg* php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-bcmath php-mhash libmcrypt libmcrypt-devel php-fpm

#启动php-fpm
/etc/rc.d/init.d/php-fpm start
设置自动启动
chkconfig php-fpm on

配置nginx支持php
cp /etc/nginx/nginx.conf /etc/nginx/nginx.confbak
vi /etc/nginx/nginx.conf
#修改nginx运行账号为:nginx组的nginx用户
user nginx nginx;

cp /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.confbak
vi /etc/nginx/conf.d/default.conf
#增加index.php
index index.php index.html index.htm;
取消FastCGI server部分location的注释,并要注意fastcgi_param行的参数,改为$document_root$fastcgi_script_name,或者使用绝对路径

配置php-fpm
cp /etc/php-fpm.d/www.conf /etc/php-fpm.d/www.confbak
vi /etc/php-fpm.d/www.conf
#修改用户为nginx
user = nginx
#修改组为nginx
group = nginx

安装MYSQL
yum -y install mysql mysql-server
启动mysql
service mysqld start
chkconfig mysqld on #设为开机启动

为root账户设置密码
mysql_secure_installation

重启所有服务
service mysqld restart
service nginx restart
/etc/rc.d/init.d/php-fpm restart
测试成功

安装ssh服务器和subversion服务器
yum install -y openssh-server
yum install -y subversion

相关日志

  • 2011-03-24 -- linux centos 5 lamp(apache mysql php) yum自动安装shell脚本
    手头有N台linux centos 5的服务器,每次配置都要打很多命令,不想这么烦下去了。 自己写了一个自动安装脚本,包括了apache mysql php的自动Yum安装。最后还设置了防火墙。 ...
  • 2010-12-29 -- 如何解决linux下apache启动时httpd: apr_sockaddr_info_get() failed for 报错
    配置一台云服务器,干干净净的系统,我用Yum安装了apache后,发现启动时候报错 httpd: apr_sockaddr_info_get() failed for xxxx 虽然启动还算正常,...
  • 2010-08-27 -- 如何解决CentOS 5 host命令无效(-bash: host: command not found)的问题
    当我们检查DNS设置的时候常常会用到host命令,但Centos5默认安装是没有这个命令的。 当显示-bash: host: command not found的时候,我们就需要安装对应的包了 ...
  • 2008-09-17 -- 高性能网站架构-LLMP
    在网站架构设计中,大家一定对 LAMP (LinuxApacheMysqlPhp) 不陌生。 LAMP确实是一个非常优秀的架构,秉承着自由,开放,高效,易用的设计理念。 但是,本文不打算探讨LAM...
  • 2012-03-22 -- 如何让Linux后台运行命令或php
    用 telnet/ssh 登录Linux 服务器,运行了一些耗时较长的任务, 结果却因为关闭远程窗口任务中途失败。这是我们就需要用到Linux的后台运行命令 基础方法:下达的命令后面加上&,就可...
  • 2011-03-28 -- linode服务器重装全纪录
    大家都说linode好用,还真的好用,这么一转眼就用了一年半了。最近刚刚重装了自己在LINODE的服务器。在此之前,我用的是debian,后来发现centos用起来太方便了。于是就琢磨着把系统换一下。...

如何使用php日志调试rewrite规则(不受apache和iis限制)

需要在IIS和apache同时调试好静态重写的规则,发现调试rewrite规则真是个神一样的工作,你根本就不知道它到底怎么翻译的,解析到哪里去了。

在网上搜了一下,发现一个朋友在apache下开启了配置文件中的一下两个选项
RewriteLog “/myfolder/mylogfile.log”
RewriteLogLevel 9
这样apache可以自动生成一个重写日志,看着日志调试就方便了
Rewriteloglevel 0 代表关闭,9代表开启最大debug输出,调为9可以看到最详细的重写匹配信息

可是IIS环境呢,这个有点麻烦,于是我用网上搜的一个log类来做日志
大致原理是这样的,在网站的index.php这里写一段
$log = new log(“/logs/sys.log”);
$log->logThis($_SERVER["REQUEST_URI"]);
//$_SERVER["REQUEST_URI"] 是重写的实际执行页面
///logs/sys.log也可以写成别的地址,比如你网站根目录的一个地址,这样你可以通过浏览器来查看日志了

这样的日志结果会是这样的效果
2012-02-28 16:27:04 115.174.56.7 /index.php?action=list&catid=4&pageid=3
2012-02-28 16:27:06 115.174.56.7 /index.php?action=list&catid=7&pageid=6
2012-02-28 16:27:08 115.174.56.7 /index.php?action=list&catid=13&pageid=2

有了日志调试,规则就不再是问题了

相关日志

  • 2011-03-24 -- linux centos 5 lamp(apache mysql php) yum自动安装shell脚本
    手头有N台linux centos 5的服务器,每次配置都要打很多命令,不想这么烦下去了。 自己写了一个自动安装脚本,包括了apache mysql php的自动Yum安装。最后还设置了防火墙。 ...
  • 2010-02-23 -- 无法在发生错误时创建会话,请检查 PHP 或网站服务器日志,并正确配置 PHP 安装的错误解决办法
    在设置phpmyadmin时,经常会遇到“”的错误,网上查了很多资料发现,这个办法比较靠谱 1.确保您的php安装正确。phpinfo可以正常预览 2.打开您的php.ini配置文件session...
  • 2009-12-09 -- 基于PHP如何向一个txt文件追加内容
    首先我们要先介绍下文件打开的一些参数 'r' 只读方式打开,将文件指针指向文件头。 'r+' 读写方式打开,将文件指针指向文件头。 'w' 写入方式打开,将文件指针指向文件头并将文件...
  • 2008-11-24 -- 怎么做网站(选择建站开发环境asp,php,jsp)
    选好了网站域名,也知道我们要把网站放在哪里了,那我们用什么来做网站的呢。在我看来,网站的建设其实很有学问,做好选择也是需要好好考虑的。 我个人把网站分为静态站和动态站两大类。它是按照网站的更新方...
  • 2008-10-17 -- 怎么设置Apache301永久重定向
    网站有4个域名,搜索引擎里面的权值都不一样,而且还区分有无WWW的,很乱套,推出一个主域名势在必行。这里以本域名举例说明问题。本来以为要在Apache里面配置这几个域名均为虚拟主机配置,在几个非主域名...
  • 2008-10-09 -- 如何让Apache与IIS共用80端口
    方法一: 网上常用的单IP共用80端口方法,不过不推荐,只是使用Apache的代理,速度有影响将apache设为使用80端口,IIS使用其它端口,比如81,然后将apache作为IIS的代理。 在...

利用iphone4联通版制作随身网络(个人热点的使用)

经常要在外面做东西,虽然大部分地方都有wifi,但保不齐有的地方没有无线,又必须上网。昨天跟朋友聊天,他教了我一个相当给力的方法。
如何利用个人热点制作随身网络
首先要先看你的iphone4是不是有足够的流量,如果是包月1g,你又用不完,像我一样,那就看下去吧
如果想开启个人热点,据说必须是越狱的机器,而且是4.3以上
这样在你的手机“设置”中就会有一个叫“个人热点”的选项,点击进入,选择开启“个人热点”
下面会随机产生一个“无线局域网”密码,个人建议你设置成你独有的,自己好记的密码,这样可以无线局域网就开启了
作为一个随身的无线局域网,个人热点有三种方式:wifi,蓝牙,usb
最方便的就是wifi
现在打开你的电脑,打开无线网络,搜索就会发现一个“iphone4”的网络,输入你的密码
哈哈,你就可以上网了

这样的网络流量很珍贵,所以我开启了360的流量监控,时时提醒我用了多少,千万别超
如果你想改iphone4这个无线网络的名称,你可以用usb连接itunes,在那里修改名称

好,打完收工

相关日志

  • 2009-07-09 -- 如何设置iphone 中的ipod播放循环播放所有列表中音乐
    这是每个播放器都有的功能 ->单曲循环 进入ipod界面中,左上角有返回的箭头。中间是歌名,右边是曲目信息 用手指触摸屏幕中间的音乐封面或者那个大大的音符。就会出来曲目的时间条。 在这栏中,...

关于apache下网站加速利器mod-pagespeed

自从有了自己独立服务器,一直认为自己网站速度还是挺快的,但自从上了监控宝之后,发现其实自己服务器的服务经常断。有很多时候网站是不可用的,这个让我很郁闷。一直在看dbanotes(大冯)的博客,知道他的服务器跟我都是在linode下,并且都是linux。然而我们的网站访问速度大相径庭。这一点肯定是我服务器没有配置好。
于是我通过查看两个网站页面HTTP状态,发现两个网站的网页返回HEAD信息差别不大,只有一个X-Mod-Pagespeed信息不知道是做什么的。看来这个参数的作用很大。
原来这是贴心的 Google 特为懒惰型网站主提供了傻瓜化解决方案,据称该模块可以有效将网页加载速度提高50%,Google这款加速模块简单的解决了许多复情况的问题:
-如果你的网站采用apache构建服务器,不需要对网站CMS系统进行处理即可应用;
-加速模块可以自行对网络传输的html字节优化及对图象,css进入压缩优化传输;
-智能缓存是一大亮点,它可以自动智能缓存,加速下载

以下是这个模块的版本
mod_pagespeed 32-bit .deb (Debian/Ubuntu)
mod_pagespeed 64-bit .deb (Debian/Ubuntu)
mod_pagespeed 32-bit .rpm (CentOS/Fedora)
mod_pagespeed 64-bit .rpm (CentOS/Fedora)
具体的安装方法:
首先先下载模块到服务器
如果你是debian的系统请运行一下命令
dpkg -i mod-pagespeed-*.deb
apt-get -f install
如果是centos的系统则
yum install at
rpm -U mod-pagespeed-*.rpm

重启APACHE后你会发现速度真的快了

相关日志

  • 2011-03-24 -- linux centos 5 lamp(apache mysql php) yum自动安装shell脚本
    手头有N台linux centos 5的服务器,每次配置都要打很多命令,不想这么烦下去了。 自己写了一个自动安装脚本,包括了apache mysql php的自动Yum安装。最后还设置了防火墙。 ...
  • 2010-12-29 -- 如何解决linux下apache启动时httpd: apr_sockaddr_info_get() failed for 报错
    配置一台云服务器,干干净净的系统,我用Yum安装了apache后,发现启动时候报错 httpd: apr_sockaddr_info_get() failed for xxxx 虽然启动还算正常,...
  • 2009-05-25 -- 在linux下安装Siege进行压力模拟测试
    Siege是一个压力测试和评测工具,设计用于WEB开发这评估应用在压力下的承受能力:可以根据配置对一个WEB站点进行多用户的并发访问,记录每个用户所有请求过程的相应时间,并在一定数量的并发访问下重复进...
  • 2008-10-28 -- linux下解决apache虚拟主机的Could not resolve host name错误
    在LINUX下APACHE的虚拟主机的配置是个技术活儿,很多小的细节需要顾虑 当你的域名没有绑定好的时候,就会出现以下这个错误 Could not resolve host name ...
  • 2008-09-19 -- linux关闭防火墙
    新LINUX安装完,发现配置完apache后没法访问,估计是防火墙问题。 /etc/init.d/iptables status 会得到一系列信息,说明防火墙开着。 /etc/in...
  • 2008-09-17 -- 高性能网站架构-LLMP
    在网站架构设计中,大家一定对 LAMP (LinuxApacheMysqlPhp) 不陌生。 LAMP确实是一个非常优秀的架构,秉承着自由,开放,高效,易用的设计理念。 但是,本文不打算探讨LAM...

php中json编码和解码的一些提示

对于php下的web service应用,json因其快速,轻量在小数据量传输的时候非常有优势,但用的时候有些小细节需要注意。我就是把数组存进去,再取出来的时候发现变成对象了,才发现原来是这样。
在运行环境上,json在php5.2以上才是内置的。
常用的方法是json_encode和json_decode。
json_encode的参数只有一个,就是要被转换的数据,而json_decode就不一样,他可以把json格式转换成对象(object)和数组两种
下面是个例子
$arr = array(”1″,”2″,”3″);
print_r($arr);
echo json_encode($arr);
print_r(json_decode(json_encode($arr)));
print_r(json_decode(json_encode($arr), true));

如果数组转成json,想解码回来的,别忘了加个参数true

相关日志

  • 2010-03-27 -- ecshop下can’t parse to JSON出错的一种解决思路
    ecshop是一个php下非常常用的开源商城系统,他的ajax的功能非常强大,几乎所有的操作都涉及到了异步操作。 正因为如此,他的模版制作门槛就有点高,你会时不时地发现,这个不显示了,那个不能操作了...
  • 2009-01-13 -- 使用array_key_exists检查键名或索引是否存在于数组
    array_key_exists() 在给定的 key 存在于数组中时返回 TRUE。 key 可以是任何能作为数组索引的值。array_key_exists() 也可用于对象。 <?p...
  • 2012-03-22 -- 如何让Linux后台运行命令或php
    用 telnet/ssh 登录Linux 服务器,运行了一些耗时较长的任务, 结果却因为关闭远程窗口任务中途失败。这是我们就需要用到Linux的后台运行命令 基础方法:下达的命令后面加上&,就可...
  • 2012-03-20 -- centos6服务器YUM安装LNMP(LINUX+NGINX+MYSQL+PHP)
    之前都用的lamp,这次配置一个lnmp来看看,试试Nginx是不是好用 关闭SELINUX vi /etc/selinux/config #SELINUX=enforcing #注释掉 ...
  • 2012-02-28 -- 如何使用php日志调试rewrite规则(不受apache和iis限制)
    需要在IIS和apache同时调试好静态重写的规则,发现调试rewrite规则真是个神一样的工作,你根本就不知道它到底怎么翻译的,解析到哪里去了。 在网上搜了一下,发现一个朋友在apache下开...
  • 2011-03-24 -- linux centos 5 lamp(apache mysql php) yum自动安装shell脚本
    手头有N台linux centos 5的服务器,每次配置都要打很多命令,不想这么烦下去了。 自己写了一个自动安装脚本,包括了apache mysql php的自动Yum安装。最后还设置了防火墙。 ...

本博已于今天正式迁移到Linode

为了便于管理今天本博已正式迁移到了linode,linode在东京的机房步给力啊,怎么有时候会ping超时呢

特此记录以下。

相关日志

  • 2011-03-28 -- linode服务器重装全纪录
    大家都说linode好用,还真的好用,这么一转眼就用了一年半了。最近刚刚重装了自己在LINODE的服务器。在此之前,我用的是debian,后来发现centos用起来太方便了。于是就琢磨着把系统换一下。...
  • 2012-03-22 -- 如何让Linux后台运行命令或php
    用 telnet/ssh 登录Linux 服务器,运行了一些耗时较长的任务, 结果却因为关闭远程窗口任务中途失败。这是我们就需要用到Linux的后台运行命令 基础方法:下达的命令后面加上&,就可...
  • 2012-03-20 -- centos6服务器YUM安装LNMP(LINUX+NGINX+MYSQL+PHP)
    之前都用的lamp,这次配置一个lnmp来看看,试试Nginx是不是好用 关闭SELINUX vi /etc/selinux/config #SELINUX=enforcing #注释掉 ...
  • 2012-01-14 -- 关于apache下网站加速利器mod-pagespeed
    自从有了自己独立服务器,一直认为自己网站速度还是挺快的,但自从上了监控宝之后,发现其实自己服务器的服务经常断。有很多时候网站是不可用的,这个让我很郁闷。一直在看dbanotes(大冯)的博客,知道他的...
  • 2011-03-24 -- linux centos 5 lamp(apache mysql php) yum自动安装shell脚本
    手头有N台linux centos 5的服务器,每次配置都要打很多命令,不想这么烦下去了。 自己写了一个自动安装脚本,包括了apache mysql php的自动Yum安装。最后还设置了防火墙。 ...
  • 2011-03-18 -- 如何查看CentOS版本方法
    有以下命令可以查看: # lsb_release -a LSB Version: :core-3.1-ia32:core-3.1-noarch:graphics-3.1-ia32:gra...

游戏服务器管理-文件同步的解决方案

服务器均使用LINUX的CENTOS,同步程序使用Rsync,台湾服务器为Rsync的服务端

服务端配置

同步软件安装
yum -y install xinetd

启动rsync服务端
#rsync –daemon

配置同步软件为可用
vi /etc/xinetd.d/rsync

# default: off
# description: The rsync server is a good addition to an ftp server, as it /
# allows crc checksumming etc.
service rsync
{
disable = no // change
socket_type = stream
wait = no
user = root
server = /usr/bin/rsync
server_args = –daemon
log_on_failure += USERID
}
配置本地同步参数
vi /etc/rsyncd.conf

[game-test-taiwan]
path = /var/www/
host allow = xx.xx.xx.xx
host deny = *
list = true
uid = root
gid = root

客户端配置

安装同步软件
yum install -y rsync
配置排除指定目录或文件(每条记录占一行,支持通配符)
vi /etc/rsync-exclude-test

/xxxxxx

执行同步(从服务器端下拉)
rsync -avz –delete –exclude-from=/etc/rsync-exclude-test 203.69.85.43::game-test-taiwan /var/backup
执行同步(从客户端上传)
rsync -avz –delete –exclude-from=/etc/rsync-exclude-test /var/backup 203.69.85.43::game-test-taiwan/forrsync

相关日志

  • 暂无相关日志

wordpress获取当前分类页的ID

最近搞WORDPRESS的最新版,做模板的时候想获取当前分类的ID,以下是实现代码

获取当前分类页的ID
<?php if (is_category()) {
global $wp_query;
$cat_id = $wp_query->get_queried_object_id();
}
?>

相关日志

  • 暂无相关日志

android开发笔记

1. 修改了创建工程时候的默认activity的名称,发现发布项目时不能正常编译。编译的还是旧的名称,显示找不到:ActivityManager: Error: Activity class does not exist.
解决办法:在项目的根目录修改配置文件AndroidManifest.xml中的application中的activity
2. 对两个activity做跳转,发现部署后一直报错并“意外停止”,这是简单的小程序,不可能吃内存太多的。肯定是哪里不对。启用了debug模式,知道到logcat,发现里面有这样一句“ have you declared this activity in your AndroidManifest.xml”,看来又是AndroidManifest.xml的配置问题。果然在其中加了后,跳转后的activity正常了。
3. android程序在调试时出现了套接字异常“java.net.SocketException: Permission denied”。这是一个经典错误, Socket不能对外连接,错误不会被报出,调试的时候,能看到Exception, 一般是抛出 java.net.socketexception permission denied这个异常。只要你的程序想联网,就会抛出这个异常,最终联网失败。 原因是: 需要访问到网络必须要有权限,在AndroidManifest.xml中,需要进行如下配置:
4. could not write file images\/system.img, No space left on device一般的目录是这里C:\Documents and Settings\Administrator\.android,而这个盘已经满了,只剩下几十M的容量是不够的。(系统盘一般是C盘),因为空间不足就无法启动,删了一些文件后重新运行eclipse就好了
5. 往string[] 添加元素的方法,一个for循环中 string[i] = 对应item[i]

相关日志