源码编译实现企业级LNMP平台(3)

二:编译安装配置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

源码编译实现企业级LNMP平台

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/f09e4742a6adf61db8f10bb04599a025.html