二:编译安装配置MySQL
###################安装cmake###################
若想编译安装mysql必须借助跨平台编译器cmake。
[root@yong ~]# yum -y install cmake
###################解压缩mysql#################
[root@yong ~]# tar xf mysql-5.5.33.tar.gz
###################创建程序运行用户############
[root@yong ~]# groupadd -r mysql
[root@yong ~]# useradd -g mysql -r mysql
###################创建数据存放目录############
建议:真实环境下尽量使用逻辑卷存放数据!!
[root@yong ~]# mkdir -pv /mydata/data
[root@yong ~]# chown -R mysql.mysql /mydata/data
###################编译mysql###################
[root@yong ~]# cd mysql-5.5.33
[root@yong mysql-5.5.33]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/mydata/data -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_LIBWRAP=0 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
####################安装mysql################
[root@yong mysql-5.5.33]# make && make install
####################更改属组#################
[root@yong ~]# cd /usr/local/mysql/
[root@yong mysql]# chown -R :mysql *
###################初始化数据库##############
[root@yong mysql]# scripts/mysql_install_db --user=mysql --datadir=/mydata/data/
###################创建配置文件##############
[root@yong mysql]# cp support-files/my-large.cnf /etc/my.cnf
###################编辑配置文件##############
[root@yong mysql]# cd /etc/
[root@yong etc]# vim my.cnf
datadir = /mydata/data #指定mysql数据文件的存放位置
###################创建执行脚本##############
[root@yong mysql]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
[root@yong mysql]# chmod +x /etc/rc.d/init.d/mysqld #执行权限
##################添加服务##################
[root@yong mysql]# chkconfig --add mysqld
#################启动服务###################
[root@yong mysql]# service mysqld start
#################设置环境变量###############
[root@yong mysql]# vim /etc/profile.d/mysql.sh
export PATH=/usr/local/mysql/bin:$PATH #添加
[root@yong mysql]# . /etc/profile.d/mysql.sh
################创建登录密码###############
[root@yong mysql]# mysqladmin -u root password mypass
[root@yong mysql]# mysql -uroot –pmypass
###############指定访问权限################
mysql> grant all privileges on *.* to root@'172.16.%.%' identified by 'mypass';
mysql> flush privileges; 重读授权表
三、编译安装php
##############解压php####################
[root@yong ~]# tar xf php-5.4.19.tar.bz2
#############可能需要安装的依赖包##########
[root@yong php-5.4.19]# yum -y install libxml2-devel
[root@yong php-5.4.19]# yum -y install curl-devel
[root@yong php-5.4.19]# yum -y install bzip2-devel
[root@yong php-5.4.19]# yum -y install libmcrypt
[root@yong php-5.4.19]# yum -y install libmcrypt-devel
##############编译php####################
[root@yong ~]# cd php-5.4.19
[root@yong php-5.4.19]# ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-openssl --enable-fpm --enable-sockets --enable-sysvshm --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib-dir --with-libxml-dir=/usr --enable-xml --with-mhash --with-mcrypt --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2 --with-curl
#############安装php##################
[root@yong php-5.4.19]# make && make install
注意:php官方要求用户尽量在使用make之后使用make test测试一下再进行安装make install。
##############为php提供配置文件######
[root@yong php-5.4.19]# cp php.ini-production /etc/php.ini
##############为php提供SysV脚本#####
[root@yong php-5.4.19]# cp sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm
[root@yong php-5.4.19]# chmod +x /etc/rc.d/init.d/php-fpm
##############添加服务###############
[root@yong php-5.4.19]# chkconfig --add php-fpm
[root@yong php-5.4.19]# chkconfig php-fpm on
##############为php-fpm提供配置文件##
[root@yong php-5.4.19]# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
注:php-fpm是一个服务器软件需要以服务器进程运行的所以也需要一个配置文件。
#############启动php-fpm############
[root@yong etc]# service php-fpm start
四:整合nginx和php
1、编辑配置文件/etc/nginx/nginx.conf
[root@yong ~]# vim /etc/nginx/nginx.conf
################启动php状态############
location ~ \.php$ {
root html; #从哪里找php页面
fastcgi_pass 127.0.0.1:9000; #用户请求转发给谁(php-fpm默认监听在9000端口上)
fastcgi_index index.php; #默认页面(基于php-fpm下)
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; #传递的参数
include fastcgi_params;
}
################添加php格式的主页###########
location / {
root html;
index index.php index.html index.htm;
}
2、编辑/etc/nginx/fastcgi_params,将其内容更改为如下内容:(以下这些内容参数不可以随便更改,它们主要是建立对应关系的)
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
注:其实这些内容和原文件内容并没有太大的差别,请读者详细查看并理解其内容。
3、重新载入nginx的配置文件
[root@yong html]# service nginx reload
4、测试
在/usr/html新建index.php的测试页面,测试php是否能正常工作:
[root@yong html]# cat > /usr/html/index.php << EOF
<?php
phpinfo();
?>
EOF