30 December 2011 0 Comments

Nginx PHP 配置

Nginx是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器 。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的Rambler.ru 站点开发的,它已经在该站点运行超过四年多了。Igor 将源代码以类BSD许可证的形式发布。自Nginx 发布四年来,Nginx 已经因为它的稳定性、丰富的功能集、 示例配置文件和低系统资源的消耗而闻名了。它有着相当优秀的静态内容处理能力。但是它本身不能解析PHP页面 一般通过CGI的方式使其支持PHP。

一般我们使用 spawn-fcgi 或者 php-fpm 其中的一种来解析PHP,也就是说这两种方法取其一就可以。

使用spawn-fcgi

先安装Nginx 及 php

apt-get install nginx php5-cli php5-cgi spawn-fcgi psmisc

在这里我使用example.com 作为例子来配置
先创建对应文件夹

mkdir -p /srv/www/www.example.com/public_html
mkdir /srv/www/www.example.com/logs
chown -R www-data:www-data /srv/www/www.example.com

然后编辑
/etc/nginx/sites-available/www.example.com

server {
    server_name www.example.com example.com;
    access_log /srv/www/www.example.com/logs/access.log;
    error_log /srv/www/www.example.com/logs/error.log;
    root /srv/www/www.example.com/public_html;
 
    location / {
        index  index.html index.htm;
    }
 
    location ~ .php$ {
        include /etc/nginx/fastcgi_params;
        fastcgi_pass unix:/var/run/php-fastcgi/php-fastcgi.socket;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME /srv/www/www.example.com/public_html$fastcgi_script_name;
    }
}

然后新建文件/usr/bin/php-fastcgi 内容为

#!/bin/bash
 
FASTCGI_USER=www-data
FASTCGI_GROUP=www-data
SOCKET=/var/run/php-fastcgi/php-fastcgi.socket
PIDFILE=/var/run/php-fastcgi/php-fastcgi.pid
CHILDREN=6
PHP5=/usr/bin/php5-cgi
 
/usr/bin/spawn-fcgi -s $SOCKET -P $PIDFILE -C $CHILDREN -u $FASTCGI_USER -g $FASTCGI_GROUP -f $PHP5

给予那个文件执行权限

chmod +x /usr/bin/php-fastcgi

[...]

Tags: , ,
30 October 2011 0 Comments

Oracle 删除当前用户的表 视图 过程等的SQL语句

在sqlplus中经常需要批量删除当前用户下的各种数据,可以用以下语句生成删除对应数据的SQL 语句

删除所有外键约束

1
SELECT 'alter table '||table_name||' drop constraint '|| constraint_name ||' cascade;' ||chr(13)||chr(10) FROM user_constraints WHERE owner = USER;

删除表

1
SELECT 'drop table ' || TABLE_NAME ||';'||chr(13)||chr(10) FROM user_tables;

删除视图

1
SELECT 'drop view ' || view_name||';'||chr(13)||chr(10) FROM user_views;

删除sequence

1
SELECT 'drop sequence ' || sequence_name||';'||chr(13)||chr(10) FROM user_sequences;

删除function

1
SELECT 'drop function ' || object_name||';'||chr(13)||chr(10) FROM user_objects WHERE object_type='FUNCTION';

删除procedure

1
SELECT 'drop procedure ' || object_name||';'||chr(13)||chr(10) FROM user_objects WHERE object_type='PROCEDURE';

删除Types

1
SELECT 'drop type ' || object_name||';'||chr(13)||chr(10) FROM user_objects WHERE object_type='TYPE';

删除Trigger

1
SELECT 'drop trigger ' || object_name||';'||chr(13)||chr(10) FROM user_objects WHERE object_type='trigger';

执行这些SQL语句所生成的语句就可批量删除对应的对象。

Tags: ,
13 September 2011 0 Comments

在 UEFI Boot 下安装 Windows 7

可扩展固件接口(Extensible Firmware Interface,EFI)是 Intel 为全新类型的 PC 固件的体系结构、接口和服务提出的建议标准。

而目前对于普通用户的好处主要集中在两点, 一是可以支持1TB以上的分区 (GPT) 分区表, 二是明显提高开机启动速度。

Check list:

一台支持UEFI 的电脑(主板支持 UEFI Boot)

一张Windows 7 x64 SP1 安装光盘(或Windows 2008 R2),建议使用MSDN 原版。 各种集成修改版本无法引导,因为32bit Windows 7/2008 并不支持UEFI boot.而修改版本使用的都是32位的引导程序。 最好使用光盘,如果制作启动U盘 请使用U盘量产工具 制作成 USB-CDROM 类型。否则依旧无法引导。(important!

How to

1. 将主板设定成UEFI only , 否则主板将优先传统引导模式。然后使用安装光盘引导。

Windows 7 或 Vista 在UEFI模式下可能会提示无法将系统安装到这个磁盘。因为硬盘上存在MBR分区表。Windows 7 用户可以直接点击下一步继续安装 Windows会自动完成下面的步骤(动手能力强喜欢自己折腾的用户也可以参考下面手动创建分区表) 。Vista 用户则需要按照下面说明手动建立EFI 分区。
[...]

Tags: , , ,
1 August 2011 0 Comments

如何在SSH中保持程序而不随终端退出

我们经常需要通过SSH连接到 服务器上处理一些耗时比较长的工作。但是因为他们执行的时间太长了,而我们需要一直保持会话连接。

一旦不小心关掉窗口或网络连接断开。服务器上的程序也会同时退出。

让我们来看看为什么关掉窗口/断开连接会使得正在运行的程序挂掉

根据POSIX.1 中所定义的。

  • SIGHUP信号默认的动作是终止程序。
  • 当终端检测到网络连接断开,将挂断信号发送给控制进程(会话期首进程)。
  • 如果会话期首进程终止,则该信号发送到该会话期前台进程组。
  • 一个进程退出导致一个孤儿进程组中产生时,如果任意一个孤儿进程组进程处于STOP状态,发送SIGHUP和SIGCONT信号到该进程组中所有进程。

当网络断开或终端窗口关闭后。由SShd 派生的所有进程都会收到SIGHUP信号而退出。
[...]

4 February 2011 0 Comments

那是连风都不曾抵达的地方 那是连太阳都无法温暖的角落(转载)

难得一见的好文。原始出处已不可考.

(一)

不知道各位玩过一个电脑小游戏没有。游戏是这样的,一个场景中,充满着不同方向的引力场和斥力场。游戏者在某个特定点发射一个小球。通过选择特定的发射角度与发射方向,小球就会在屏幕上翻转盘旋,划着奇异的轨道滑向某个终点。

我想,1963年的Edward.C.Stone一定是玩过这个游戏的。或许这正是他闲暇之余设计的一个小程序。

那时,他还是芝加哥大学的一个研究生,工作之一是计算某些卫星的发射轨道。在一次计算中,他惊讶地发现,当太阳系行星排列成某些特殊形状的时候,它们的引力就可以不断地为经过它们周边的物体加速。

进一步的仔细计算表明,这种事情每大约175年才会发生一次,而这种免费午餐式的摇摆变轨加速,能在当时的条件下,用大约十二年时间,就到达原本需要花费三十年时间才能到达的海王星。

而下一次这种时机的来临,是1977年。

(二)

有 诗云,一万年太久,只争朝夕。只是科学的归科学,剩下的全归钱。不要说一万年太久,就是一十二年朝夕必争,也没有一个机构肯下这种本钱。卫星上了天,不是 说就算完事了,地面控制要钱,地面数据接收要钱,一个不小心卫星出状况了,抢救要钱——说是抢救,其实无非是转着圈儿搜卫星信号而已,宛若大海捞针——闲 话少说,总之,啥都要钱,没有人会在一个一飞十二年花钱如流水而且随时都会跟别的男人跑掉的娇宝贝身上下注。

怎么办?只能把野心藏起来。我们根本没有去海王星的打算,但是,这摇摆变轨加速,可不只缩短去海王星的时间呐。它同样可以让去木星土星的时间,缩短到只需三到四年。

于是,小心翼翼地,科学家们在六十年代中期,紧跟着一系列成功的水手号卫星之后,提出说,既然我们的水手们如此成功,探测了火星、金星和水星,为什么不也去木星看看呢?就当是这个计划的延续好了。

NASA答应了,便有了水手计划之木星土星特航,分别叫做水手一十一号,和水手一十二号。

司马昭之心,路人皆知。哪里有什么水手的延续。很快,琵琶就被扔掉了,而半边夜叉脸也露了出来。这个计划被改名叫做旅行者计划,理直气壮地要一直飞向土星。

当时,人类还从未近距离拍摄过这两颗行星。在太空竞赛这个大环境的支撑下,计划同样通过了。而在计划的末尾,则约略提到,如果卫星够幸运够强大的话,或许,可以飞到海王星吧。

(三)

海王星?

这次,轮到NASA开始琢磨了。海王星?海王星在哪里?海王星到太阳的距离是土星到太阳距离的三倍,木星到太阳距离的六倍,以及地球到太阳距离的三十倍。这几乎已经飞出太阳系了!

啊!原来,我们还有这种指望啊……

人永远是不知足的,得到了一,还想得到二,而得到了二,就想得到三——得到了三,他就得到了万物。只是,这次NASA的兴奋与希冀,甚至超出了万物。

他们想和外星人取得联系。地球。太阳。太阳系。太阳系以外。外星人。

人 生五十年,如梦似幻。七零年代的卡尔·萨根,正处在梦幻年华的黄金时刻。他刚刚在康奈尔大学走上了终生教职的道路,同时担任着NASA的顾问。在这之前, 在他的推动之下,1972年发射的先驱者11号和先驱者12号,已经携带上了画者人类男女图象的铝板,向着远方飞去。这次,看上去,又是一个机会啊。

于是,新的内容被追加进了这个旅行者计划:它将携带更充分的燃料——反正,烧二十年的电池和烧五十年的电池差不多重——然后,再加进一块金盘,录入人类的资料。这东西也不太重,而且,是个软媒介,技术要求不高,开发消耗就更少了。

看起来,有百利而无一害啊。

1972年,探测土星木星和它们的卫星,也说不定溜达到天王星海王星,顺带还有很小可能跑出太阳系的旅行者计划,被正式批准了。

 

[...]

Tags:
Page 1 of 2012345...1020...Last »