阿里狼 发表于 2018-10-2 07:47:58

LNMP linux nginx mysql php-Wz10000000000

二、编译安装mysql
1、下载mysql源码包
  # mysql-5.5.20-linux2.6-i686.tar.gz编译mysql之前我们需要去mysql官网查找最新版本的mysql源码包,可以根据自己的实际需要选择对应的源码包!
2、创建mysql挂载目录
  #由于以后我们这里会产生很大的数据量,在这里我们最好应该把mysql单独放在一个目录中去,下面我们可以在磁盘中创建一个分区,用于单独存放mysql数据,可以在系统开机时就挂载这个mysql目录,为服务提供保证:
  fdisk /dev/sda -->n e 4-->p n +10G-->t 8e w-->partprobe -->pvcreate /dev/sda5 -->vgcreste myvg /dev/sda5 --> lvcrete -L 2G -n mydata myvg-->lvs -->mke2fs -b 1024 /dev/myvg/mydata --> vim fstab ...... mkdir /mydata-->mount -a -->mkdir /mydata/data (创建data用于存储mysql数据)
3、添加mysql系统用户和组
  # groupadd -r mysql #添加mysql组
  # useradd -g mysql -r -s /sbin/nologin -M mysql #添加mysql用户

  #>
4、解压mysql源码包
  # tar xvf mysql-5.5.20-linux2.6-i686.tar.gz -C /usr/local解压在/usr/local中
  # cd /usr/local/
  #ln -sv mysql-5.5.20-linux2.6-i686 mysql创建软连接
  # chown -R mysql:mysql /mydata/data #改变存储mysql数据的目录属主属组为mysql
  # cd /mysql --> chown -R mysql:mysql .#将mysql属组属主改为mysql
  #rpm -q mysql-server #初始化mysql之前确认系统上没有安装mysql-server 的rpm包,否则会冲突

  # scripts/mysql_install_db --user=mysql --datadir=/mydata/data#用脚本初始化mysql
  #chown -R root. # 将mysql 中的属主重新改为root,为了使mysql执行时添加安全保证。

  5、为mysql提供主配置文件
  # cd /usr/local/mysql
  # cp support-files/my-large.cnf/etc/my.cnf
  #为mysql提供主配置文件:
  并修改此文件中thread_concurrency的值为你的CPU个数乘以2,比如这里使用如下行:
  thread_concurrency = 2
  另外还需要添加如下行指定mysql数据文件的存放位置:
  datadir = /mydata/data

  6、为mysql提供sysv服务脚本
  # cd /usr/local/mysql
  # cp support-files/mysql.server/etc/rc.d/init.d/mysqld
  # 为mysql提供sysv服务脚本:
  添加至服务列表:
  # chkconfig --add mysqld
  # chkconfig --level 2345 mysqld on

  而后就可以启动服务测试使用了。
  # ls /mydata/data 里面有mysql的日志文件
  7、优化mysql服务
  #为了使用mysql的安装符合系统使用规范,并将其开发组件导出给系统使用,这里还需要进行如下步骤:
  # ln -sv /usr/local/mysql/include /usr/include/mysql
  #为mysql创建头文件链接
  # vim /etc/ld.so.conf.d/mysql.conf
  /usr/local/mysql/lib
  # ldconfig -v 重新加载一下 ,-v显示过程

  8、为mysql提供帮助文件
  编辑/etc/man.config,添加如下行即可:
  MANPATH/usr/local/mysql/man

9、修改mysql环境变量
  修改PATH环境变量,让系统可以直接使用mysql的相关命令。具体实现过程这里不再给出。
  # vim /etc/profile添加下面一句:
  export PATH=$PATH:/usr/local/apache/bin:/usr/local/mysql/bin

  # source /etc/profile 重读配置文件
  #service mysqld start

  ===================================================
三、编译安装php-5.4.10
1、解决依赖关系:
  请配置好yum源(可以是本地系统光盘)后执行如下命令:
  # yum -y groupinstall "X Software Development"
  # yum -y groupinstall "Development Tools"#安装好开发组包工具
  # yum -y groupinstall "Development Libraries"# 安装编译时依赖的库文件
  如果想让编译的php支持mcrypt、mcrypt、mhash扩展和libevent,此处还需要下载如下几个rpm包并安装:
  mcrypt-2.6.8-1.el5.i386.rpm
  libmcrypt-2.5.7-5.el5.i386.rpm
  libmcrypt-devel-2.5.7-5.el5.i386.rpm
  mhash-0.9.2-6.el5.i386.rpm
  mhash-devel-0.9.2-6.el5.i386.rpm
  libevent-2.0.17-2.i386.rpm
  libevent-devel-2.0.17-2.i386.rpm
  最好使用升级的方式安装上面的rpm包,命令格式如下:
  # rpm -Uvh *.rpm --nodeps   #--nodeps 忽略依赖关系并升级安装

2、下载编译php源码包
  首先下载php-5.4.10源码包至本地目录,可根据需要下载对应的源码包。
  # tar xf php-5.4.10.tar.bz2
  # cd php-5.4.10
  #./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/php --with-config-file-scan-dir=/etc/php --with-bz2 --with-curl
  说明:如果前面第1步解决依赖关系时安装mcrypt相关的两个rpm包,此./configure命令还可以带上—with-mcrypt选项以让php支持mycrpt扩展。

  # make#编译之后可以执行make, 这里肯能会花费一会时间,根据你的cpu性能决定你编译的时间长短,请稍等!

  # make test (可省)
  # make intall #之后直接安装php
  3、为php提供配置文件:
  # cp php.ini-production/etc/php/php.ini #复制生成的配置文件并且自己重命名为php.ini
  4、为php-fpm提供sysv 脚本
  为php-fpm提供Sysv init脚本,并将其添加至服务列表:
  # cp sapi/fpm/init.d.php-fpm/etc/rc.d/init.d/php-fpm
  # chmod +x /etc/rc.d/init.d/php-fpm #添加执行权限
  # chkconfig --add php-fpm #将php-fpm添加至服务中
  # chkconfig --level 2345 php-fpm on

  5、启动fastcgi:
  为php-fpm提供配置文件:
  # cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
  6、编辑php-fpm的配置文件:
  # vim /usr/local/php/etc/php-fpm.conf
  配置pm.的相关选项为你所需要的值,并启用pid文件(如下最后一行):
  pm.max_children = 50
  pm.start_servers = 5
  pm.min_spare_servers = 2 #定义最少空闲的server个数
  pm.max_spare_servers = 8 #定义最多空闲的server 个数
  pid = /var/run/php-fpm.pid#此行尤为重要服务需要的pid 文件

  7、启动php-fpm:
  # service php-fpm start
  使用如下命令来验正(如果此命令输出有中几个php-fpm进程就说明启动成功了):
  # ps aux | grep php-fpm
四、整合nginx和php5
  1、编辑/etc/nginx/nginx.conf,启用如下选项:
  location ~ \.php$ {
  root         html;
  fastcgi_pass   127.0.0.1:9000;
  fastcgi_indexindex.php;
  fastcgi_paramSCRIPT_FILENAME/scripts$fastcgi_script_name;
  include      fastcgi_params;
  }
  并在所支持的主页面格式中添加php格式的主页,类似如下:
  location / {
  root   html;
  indexindex.php index.html index.htm;
  }

  而后重新载入nginx的配置文件:
  # service nginx>

  2、编辑/etc/nginx/fastcgi_params,将其内容更改为如下内容:
  fastcgi_paramGATEWAY_INTERFACECGI/1.1;
  fastcgi_paramSERVER_SOFTWARE    nginx;
  fastcgi_paramQUERY_STRING       $query_string;
  fastcgi_paramREQUEST_METHOD   $request_method;
  fastcgi_paramCONTENT_TYPE       $content_type;
  fastcgi_paramCONTENT_LENGTH   $content_length;
  fastcgi_paramSCRIPT_FILENAME    $document_root$fastcgi_script_name;
  fastcgi_paramSCRIPT_NAME      $fastcgi_script_name;
  fastcgi_paramREQUEST_URI      $request_uri;
  fastcgi_paramDOCUMENT_URI       $document_uri;
  fastcgi_paramDOCUMENT_ROOT      $document_root;
  fastcgi_paramSERVER_PROTOCOL    $server_protocol;
  fastcgi_paramREMOTE_ADDR      $remote_addr;
  fastcgi_paramREMOTE_PORT      $remote_port;
  fastcgi_paramSERVER_ADDR      $server_addr;
  fastcgi_paramSERVER_PORT      $server_port;
  fastcgi_paramSERVER_NAME      $server_name;
  3、在/usr/html新建index.php的测试页面,测试php是否能正常工作:
  # cat > /usr/html/index.php
页: [1]
查看完整版本: LNMP linux nginx mysql php-Wz10000000000