Nginx作为PHP的Web服务器

PHP可以以两种方式工作,一种module的方式,另一种是CGI的方式。我们现在就是让它采用后一种方式工作。 先要下载一大堆包,我们把这些全部安装到/usr/local/share/的子目录里 curl-7.18.1 freetype-2.3.5 jpeg6b libiconv-1.1.2 libmcrypt-2.5.7 libpng-1.2.25 libxml2-2.6.3 zlib-1.2.3 安装方法都一样: tar xzvf ****-*.*.*.tar.gz cd ****-*.*.* ./configure --prefix=/usr/local/share/****-*.*.* make make install 安装PHP的CGI模式 tar xzvf php-5.2.5.tar.gz cd php-5.2.5 ./configure --prefix=/usr/local/php-5.2.5 --with-config-file-path=/usr/local/php-5.2.5/etc \ --with-mysql=/usr/local/mysql-5.0 --with-iconv-dir=/usr/local/share/libiconv-1.1.2 \ --with-freetype-dir=/usr/local/share/freetype-2.3.5 --with-jpeg-dir=/usr/local/share/jpeg6b \ --with-png-dir=/usr/local/share/libpng-1.2.25 --with-zlib=/usr/local/share/zlib-1.2.3 \ --with-libxml-dir=/usr/local/share/libxml-2.6.3 --enable-xml --disable-debug --disable-rpath \ --enable-discard-path --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem \ --enable-inline-optimization --with-curl=/usr/local/share/curl-7.18.1 --with-curlwrappers \ --enable-mbregex --enable-fastcgi --enable-force-cgi-redirect --enable-mbstring \ --with-mcrypt=/usr/local/share/libmcrypt-2.5.7 make make ...

Linux的时间与时区设置

设置时区,我们是东八时区,时区文件一般放在 /usr/share/zoneinfo/下面,还好里面有个香港的。我们建一个快捷方式 ln -s /usr/share/zoneinfo/HongKong /etc/localtime 如果/etc/下已经存在 localtime文件,请将原来的文件改名 mv /etc/localtime /etc/localtime_bak 查看时间: date #显示 Wed Sep 26 18:10:30 HKT 2007 date ‘ %D’ #显示 09/26/07 date ‘ %F %T’ #显示 2007-09-26 18:10:30 date ‘ %Y-%m-%d %H:%M:%S’ #显示同上 date ‘ %s’ #显示时间戳 修改日期(设为2007-09-26) date -s 070926 设置时间 date -s 18:15:00

Linux下安装PHP为CGI模式

首先安装好Nginx和PHP(CGI模式),请参考另外两篇日志。 在nginx配置文件,我的系统里面是 /usr/local/nginx-0.5.3/conf/nginx.conf 的server内添加如下配置 location ~ \.php$ { fastcgi_pass localhost:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /usr/local/website$fastcgi_script_name; include conf/fastcgi.conf; } 其中9000是我的php-cgi与nginx通讯的端口,/usr/local/website是我的网站根目录 创建/usr/local/nginx-0.5.3/conf/fastcgi.conf文件,内容如下: fastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param CONTENT_TYPE ...

Nginx作为Django的Web服务器

我有一个用Django写的网站,放在/usr/local/website,我想用nginx作Web服务器。 1. nginx依赖于pcre,下载和安装pcre7.6 tar xzvf pcre-7.6.tar.gz cd pcre-7.6 ./configure --prefix=/usr/local/share/pcre-7.6 make make install 2.下载和安装nginx0.5.3 tar xzvf nginx-0.5.3.tar.gz cd nginx-0.5.3 ./configure --prefix=/usr/local/nginx-0.5.3 --with-pcre=/root/pcre-7.6 make make install 注意,这里的--with-pcre是pcre源码的目录 3. 下载和安装flup1.0 tar xzvf flup-1.0.tar.gz cd flup-1.0 python setup.py install 4. 配置nginx nginx.conf的配置 #search and replace this: /usr/local/website #PROJECT_PATH = '/usr/local/website' #NGINX_PATH = '/usr/local/nginx-0.5.3' pid /usr/local/website/log/nginx.pid; worker_processes 2; error_log /usr/local/website/log/error_log; events { worker_connections 1024; use epoll; } http { ...

杀灭指定进程的方法

杀进程常用两种方法: 一种使用进程号,得先找到进程号: kill -9 86421 另一种使用部分进程名,坏处是一杆子打翻一条船: pkill python 只要进程命令中含有“python”,不该杀的都杀了 以下是正确使用方法: ps -efww |grep ************** |grep -v grep |cut -c 9-15 |xargs kill -9 将 ******** 换成指定进程命令的特征 例如我的XMLRPC运行的是 python mainloop.py & 我选用的特征是 mainloop.py 注意特征中间不能有空格,否则当成两个参数 ps -efww|grep mainloop.py|grep -v grep|cut -c 9-15|xargs kill -9 “ps -efww”是Red Hat 7.0里查看所有进程的命令。这时检索出的进程将作为下一条命令“grep mainloop.py”的输入。 “grep mainloop.py”的输出结果是,所有含有关键字“mainloop.py”的进程。 “grep -v grep”是在列出的进程中去除含有关键字“grep”的进程。 “cut -c 9-15”是截取输入行的第9个字符到第15个字符,而这正好是进程号PID。 “xargs kill -9”中的xargs命令是用来把前面命令的输出结果(PID)作为“kill -9”命令的参数,并执行该命令。“kill ...

MySQL常用几个命令

1. 添加用户 在mysql提示符下: grant all on `db\_%`.* to 'dba'@'192.168.1.%' identified by 'sql' with grant option; flush privileges; 说明: (1) 以上语句的功能是添加一个叫dba的用户,密码为sql,只能从属于192.168.1.*段的机器访问该数据库服务器,只能访问以db_开头的数据库,拥有对这些数据库的全部权限。 (2) `db\_%`.* 的两端是`(与~相同的按键),而不是单引号,后面三对才是单引号。加\是为了转义,_和%是通配符。 (3) 最后,还必须执行 flush privileges;才能使刚才的权限设置生效。 2. 删除用户: drop user 'who'@'host'; flush privileges; 修改密码: set password for 'who'@'host'=password('pass'); 3. 导出数据备份的方法: 在Linux/Windows命令行下 备份全部数据库 usr/bin/mysqldump -u dba -p sql –add-drop-database –all-databases > all.sql 备份几个数据库的数据,但不含表结构 usr/bin/mysqldump -u dba -p sql –add-drop-database -t -B db_a db_b ...

Linux下安装MySQL(流程)

把安装的流程总结一下,这个过程最近重复几遍了,没有问题的。这里只提供正确的步骤,不解释每步要这么做的原因。请参考其他文章了解其原因。 首先,你得保证你的Linux安装了完整的Gcc和Gcc的相关的lib包。这是在Linux下编译安装的基础。如果你和我一样用的是SUSE操作系统,在安装系统时选择软件时,把“基础开发”选上,就有了完整的Gcc。 其次,到MySQL网站下载mysql的源码包,我下载的是mysql-5.0.45.tag.gz。另外,安装需要切换到root用户下进行。 现在开始安装: 1. 切换到root管理员: su - 输入root密码 2. 进入下载了mysql源码包的目录,我的在/root/下。 cd /root 3. 解压mysql源码包 tar xzvf mysql-5.0.45.tag.gz 4. 进入源码目录 cd mysql-5.0.45 5. 配置 ./configure --prefix=/usr/local/mysql-5.0.45 --with-charset=utf8 \ --with-extra-charset=all --enable-thread-safe-client 6. 编译 make 7. 安装 make install 8. 软链接,为了使用时的幸福,一个都不能少哦。:) 1) 先在/usr/bin目录 cd /usr/bin ln -s /usr/local/mysql-5.0.45/bin/mysql mysql ln -s /usr/local/mysql-5.0.45/bin/mysqldump mysqldump ln -s /usr/local/mysql-5.0.45/bin/mysql_config mysql_config ln -s /usr/local/mysql-5.0.45/bin/mysqld_safe ...

Drupal学习(1)——菜单

我们打算在菜单中添加一项mymenu,我们使用的是Drupal 5.x版本。 首先,在sites/all/modules/下新建一个目录mymenu,然后在其中建两个文件mymenu.info和mymenu.module。 mymenu.info的内容比较简单,只是模块的信息,给后台管理员看的。例如: ; $Id $ name = "MyMenu Module" description = "Adds a menu to the navigation block." version = "0.01" 重点在mymenu.module文件,入口函数是mymenus_menu,相当于参数配置。 function mymenu_menu($may_cache) { // Create an array to hold the menu items we'll define. $items = array(); if ($may_cache) { // Define a static menu item. $items[] = array( ...

Windows下的Nginx PHP MySQL环境(续)

今天将Nginx更新到了0.8.0,使用了官方发布的Windows版本,应该比Kevin制作Windows版稳定。 下载 opt.zip 上次的那篇日志 Windows下的Nginx PHP MySQL环境

页面字体大小的设定

今天在ChinaUnix.net上下载了一个《无懈可击的Web设计》前四章,学到了关于设置页面字体大小最佳方法。我们知道,Firefox上的字都比IE看上去小许多。 Simplified Box Model Hack(SBMH)由Edwardson Tan发明,它用更少的、语法上更容易理解的代码实现相同的结果(能为IE5/Win和所有其他浏览器指定不同的值)。 这次我们使用SBMH,那么前面的例子就会如下所示: body { font-size: small; } * html body { font-size: x-small; /* for IE5/Win */ f\ont-size: small; /* for other IE versions */ } 首先给对象设定正常的声明,使用我们意向中的small 值。然后,使用* html选择器来利用IE中的一个bug,以提供专门用于IE 浏览器的声明。IE5/Win 会忽略font-size属性中的反斜杠,因此可以放心地为它设置x-small 值,然后,针对其他版本的IE,再用small 值将x-small值覆盖掉。