1.1.1 解决PHP软件的依赖关系 安装基本的依赖包 yum install zlib-devellibxml2-devel libjpeg-devellibjpeg-turbo-devel libiconv-devel -y yum install freetype-devellibpng-devel gd-devel libcurl-devel libxslt-devel libxslt-devel -y rpm -qa z lib-devel libxml2-devel libjpeg-devellibjpeg-turbo-devel libiconv-devel freetype-devel libpng-devel gd-devellibcurl-devel libxslt-devel 防报错,所以编译安装 libiconv软件安装 mkdir -p /home/oldboy/tools [root@web02 init.d] # cd /home/oldboy/tools/[root@web02 tools]# lltotal 338200drwxr-xr-x 22 root root 4096 May 22 11:17 libiconv-1.14-rw-r--r-- 1 root root 4984397 May 22 08:38 libiconv-1.14.tar.gz #wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz 下载软件 [root@web02 tools] # tar xf libiconv-1.14.tar.gz [root@web02 tools] # cd libiconv-1.14[root@web02 libiconv-1.14]# ./configure --prefix=/usr/local/libiconv[root@web02 libiconv-1.14]# make[root@web02 libiconv-1.14]# make install [root@web02 libiconv-1.14] # cd ../[root@web02 tools]# #wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo [root@web02 tools] # yum -y install libmcrypt-devel mhash mcrypt[root@web02 tools]# rpm -qa libmcrypt-devel mhash mcryptmhash-0.9.9.9-3.el6.x86_64libmcrypt-devel-2.5.8-9.el6.x86_64mcrypt-2.6.8-10.el6.x86_64 1.1.2 下载解压PHP软件 [root@web02 tools] # tar xf php-5.5.32.tar.gz [root@web02 tools] # cd php-5.5.32 [root@web02 tools] # ./configure \ --prefix= /application/php-5 .5.32 \ --with-mysql= /application/mysql/ \ --with-pdo-mysql=mysqlnd \ --with-iconv- dir = /usr/local/libiconv \ --with-freetype- dir \ --with-jpeg- dir \ --with-png- dir \ --with-zlib \ --with-libxml- dir = /usr \ -- enable -xml \ --disable-rpath \ -- enable -bcmath \ -- enable -shmop \ -- enable -sysvsem \ -- enable -inline-optimization \ --with-curl \ -- enable -mbregex \ -- enable -fpm \ -- enable -mbstring \ --with-mcrypt \ --with-gd \ -- enable -gd-native-ttf \ --with-openssl \ --with-mhash \ -- enable -pcntl \ -- enable -sockets \ --with-xmlrpc \ -- enable -soap \ -- enable -short-tags \ -- enable -static \ --with-xsl \ --with-fpm-user=www \ --with-fpm-group=www \ -- enable - ftp \ -- enable -opcache=no #Generating files #configure: creating ./config.status #creating main/internal_functions.c #creating main/internal_functions_cli.c #+--------------------------------------------------------------------+ #| License: | #| This software is subject to the PHP License, available in this | #| distribution in the file LICENSE. By continuing this installation | #| process, you are bound by the terms of this license agreement. | #| If you do not agree with the terms of this license, you must abort | #| the installation process at this point. | #+--------------------------------------------------------------------+ # #Thank you for using PHP. 出现此界面说明配置工作就没有问题了 ##防报错 关键 ln -s /application/mysql/lib/libmysqlclient .so.18 /usr/lib64/ touch ext /phar/phar .phar make 开始编译 make install <- 创建目录,生成程序文件信息 了解FastCGI 1.1.3 PHP软件程序创建软链接 [root@web02 php-5.5.32] # ln -s /application/php-5.5.32//application/php 1.1.4 配置php解析文件/配置php-fpm配置文件 [root@web02 tools] #cd /home/oldboy/tools/php-5.5.32 [root@web02 tools] # cp php.ini-production/application/php/lib/php.ini 开发的php.ini-production与php.ini-development生产的 文件区别关系对比 扩展:文件比较命令 diff zdiff vimdiff windows上的文件比较 cd /application/php/etc/ cp php-fpm.conf.default php-fpm.conf 1.1.5 启动php-fpm程序 [root@web02 php-5.5.32] # /application/php/sbin/php-fpm [root@web02 php-5.5.32] # lsof -i:9000 <--- 确认php 9000端口是否正确启动COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEphp-fpm 11515 root 7u IPv4 205849 0t0 TCP localhost:cslistener (LISTEN)php-fpm 11517 www 0u IPv4 205849 0t0 TCP localhost:cslistener (LISTEN)php-fpm 11910 www 0u IPv4 205849 0t0 TCP localhost:cslistener (LISTEN)php-fpm 11912 www 0u IPv4 205849 0t0 TCP localhost:cslistener (LISTEN)[root@web02 php-5.5.32]# ps -ef|grep php-fpmroot 11515 1 0 05:45 ? 00:00:01 php-fpm:master process (/application/php-5.5.32/etc/php-fpm.conf)www 11517 11515 0 05:45 ? 00:00:17 php-fpm:pool www www 11910 11515 0 07:05 ? 00:00:16 php-fpm:pool www www 11912 11515 0 07:05 ? 00:00:17 php-fpm:pool www root 23687 23564 0 15:24 pts/0 00:00:00 grep --color=auto php-fpm 1.1.6 wordpress博客站点部署配置 1) 修改nginx配置文件,使nginx程序与php程序建立联系 [root@web02 oldboy] # cd /application/nginx/conf/extra/ [root@web02 extra] # vim blog.conf server { listen 80; server_name blog.etiantian.org; # 静态请求处理的location location / { root html/blog; index index.php index.html index.htm; } <-- 需要注意编辑修改默认首页文件 # 动态请求处理的location location ~* .*\.(php|php5)?$ { root html/blog; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi.conf; } } 说明:利用nginx的location区块实现动态请求与静态请求的分别处理 2) 编辑nginx与php连通性测试文件,并进行测试 echo '<?phpphpinfo(); ?>' > /application/nginx/html/blog/test_info .php 测试站点 curl http: //blog .etiantian.org /index .html <-- 静态请求站点文件信息测试 curl http: //blog .etiantian.org /test_info .php <-- 动态请求站点文件信息测试 说明:当php服务停止时,9000端口信息消失,即停止PHP错误报502错误 linux系统测试完毕后,建议利用浏览器进行最终测试,测试效果更明显些 3) 编辑php与mysql连通性测试文件,并进行测试 a. 创建数据库 [root@web02 ~] # /etc/init.d/mysqld startStarting MySQL.. SUCCESS! [root@web02 ~] # mysql -uroot -poldboy123Warning: Using a password on the commandline interface can be insecure.Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 1Server version: 5.6.34 MySQL CommunityServer (GPL)Copyright (c) 2000, 2016, Oracle and/or itsaffiliates. All rights reserved.Oracle is a registered trademark of OracleCorporation and/or itsaffiliates. Other names may be trademarksof their respectiveowners.Type 'help;' or '\h' for help. Type '\c' toclear the current input statement.mysql> show databases; 查看当前数据库信息 mysql> create database wordpress; 创建数据库 b. 添加用户信息 mysql> grant all on wordpress.* to 'wordpress' @ 'localhost' identified by 'oldboy123' ; mysql> grantall on wordpress.* to 'wordpress' @ '172.16.1.0/255.255.255.0' identified by 'oldboy123' ;mysql> flush privileges; #drop userwordpress@'172.16.1.8'; <--- 删除用户信息 #select user,host frommysql.user; <--- 查看用户信息 #mysql -uwordpress -poldboy123 <--- 测试创建的用户连接 #show databases; <--- 查看当前数据库信息 c. 测试php与数据库连通性 [root@web02 /] # cd /application/nginx/html/blog/ [root@web02 blog] # vim test_mysql.php<?php//$link_id=mysql_connect('主机名','用户','密码');//mysql -u用户 -p密码 -h 主机$link_id=mysql_connect('localhost','wordpress','oldboy123')ormysql_error();if($link_id){ echo "mysql successful by oldboy !\n"; }else{ echomysql_error(); }?>[root@web02 blog]# curl blog.etiantian.org/test_mysql.phpmysql successful by oldboy ! <--测试php与数据库的连通性 4) 下载部署wordpress博客程序(https: //cn .wordpress.org/ 英文官网:https: //www .wordpress.org/ ) [root@web02 tools] # wgethttps://cn.wordpress.org/wordpress-4.5.1-zh_CN.tar.gz[root@web02 tools]# tar xf wordpress-4.5.1-zh_CN.tar.gz [root@web02 tools]# mv wordpress/* /application/nginx/html/blog/[root@web02 tools]# chown -R www.www/application/nginx/html/blog/ [root@web02 tools] # cd /application/nginx/html/blog[root@web02 blog]# lltotal 204-rw-r--r-- 1 www www 19 May 21 15:46index.html-rw-r--r-- 1 www www 418 May 22 12:49 index.php-rw-r--r-- 1 www www 19935 Jan 3 02:51license.txt-rw-r--r-- 1 www www 7433 May 23 09:04readme.html-rw-r--r-- 1 www www 20 May 22 12:56test_info.php-rw-r--r-- 1 www www 313 May 22 12:54test_mysql.php 注意:确认hosts文件进行了解析 浏览器页面进行wordpress部署 vim wp-config.php 可以修改wordpress上的数据库连接参数信 |
息