分类: LINUX
2012-02-11 09:11:34
php 5.3.8 +Nginx 1.1 + Mysql 5.5.19
Linux : gcc-c++
php: -* openssl-* libxslt php-mbstring libxml2 libxml2-* curl-devel libjpeg-devel libpng-devel
Nginx : nginx + pcre
Mysql: automake zlib* fiex* libxml* ncurses-devel gettext libtool-ltdl-devel bison autoconf mysql-devel
Mysql
创建mysql目录用户组
mkdir -p /usr/local/mysql 安装目录
mkdir -p /date/mysql
groupadd mysql
useradd –g mysql mysql
chown -R mysql:mysql /usr/local/mysql
安装cmake (mysql 最新版本5.5.x需要cmake 编译安装)
cd cmake-2.8.4
./configure
make && make install
编译mysql
cd mysql-5.5.11
cmake / 安装目录
-DMYSQL_DATADIR=/date/mysql \ 存放目录
-DMYSQL_UNIX_ADDR=/date/mysql/mysqld.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DMYSQL_TCP_PORT=3306 \ 端口
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DEXTRA_CHARSETS=all \
make&&make install
cp support-files/my-medium.cnf /etc/my.cnf
cp support-files/mysql.server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld
初始化数据库
启动mysql服务
/etc/init.d/mysqld start
Nginx
Pcre (Ngixn兼容的正规表达式库)
cd pcre-8.13
./configure --prefix=/usr/local/pcre //
make && make install
Nginx
cd nginx-1.1.0
./configure --prefix=/usr/local/nginx
--with-http_stub_status_module 启用nginx的NginxStatus监控Nginx状态
--with-pcre=/tmp/pcre-8.13 源码包解压的路径,而不是安装的路径
--with-http_ssl_module 启用ssl
--with-google_perftools_module 启用tcmalloc优化
--with-http_memcached_module 启用memcache缓存
--with-http_rewrite_module 启用支持url重写
--sbin-path= Nginx可执行文件安装路径,默认为
--conf-path= 默认的nginx.conf的路径
--pid-path= 默认的nginx.pid的路径
--error-log-path= 错误日志路径,默认为
make && make install
启动 /usr/local/nginx/sbin/nginx
重启 /usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
开机启动 echo "/usr/local/nginx/sbin/nginx" >> /etc/rc.local
PHP (整合 php5.3.x已经集成php-fpm 默认支持fastcgi)
(php5.3.x以下),安装时必须启用--enable-fastcgi和 --enable-fpm )
.
gzip -cd php-5.2.17-fpm-0.5.11.diff.gz | patch -d php-5.2.17 -p1 (php-fpm整php)
cd php-5.2.17
./configure --prefix=/usr/local/php --with-mysql --with-jpeg-dir --with-png-dir --with-config-file-path=/usr/local/php --with-curl --with-zlib --with-gd --with-gettext --with-mhash --with-mcrypt --with-openssl --with-pdo-mysql --enable-sockets --enable-mbstring=al l --disable-debug --enable-fpm
make && makeinstall
cp php.ini-development /usr/local/php/php.ini (5.3.x 与5.x.x版本php文件不同)
cp etc/php-fpm.conf.default php-fpm.conf
vi etc/php-fpm.conf
,pm.start_servers = 20
,pm.min_spare_servers = 5
,pm.max_spare_servers = 35 去掉以上三项前面的逗号
启动 php-fpm /usr/local/php/sbin/php-fpm start
开机启动 echo "/usr/local/php/sbin/php-fpm start" >> /etc/rc.local
整合php + Nginx
vi nginx.conf启用如下语句:
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_paramSCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name;
}
关闭nginx进程重启!
===================================================
Ngixn 配置
隐藏ngixn版本号 (curl –I localhost 查看版本)
1 vi nginx.conf
http区域添加
server_tokens off;
vi conf/fastcgi.conf
fastcgi_param SERVER_SOFTWARE nginx(/$nginx_version去掉);
2 在编译nginx之前
vi src/core/Nginx.h
#define NGINX_VERSION "7.0"