0.安装的环境说明
本次安装的php的图解如下,Nginx和php在同一个服务器上,MySQL单独一个服务器。前面已经说了如何去搭建Nginx服务,如何配置虚拟主机,MySQL也在之前的博文说到安装。以后再整理一份完整的LNMP搭建的博客。
检查Nginx和MySQL的安装情况,确认两者都已经安装了,并且能够正常运行。下面安装php需要的类库工具。
1.安装前的准备
本次安装php是为了搭建lnmp环境,其中Nginx+php在同一个主机,MySQL单独一个主机。在前面已经把Nginx和MySQL搭建好了,这里在Nginx服务器上安装php。本次安装php的版本是5.6,在安装之前需要确认安装一些的库文件。
(1)安装php所需的lib库
rpm -qa zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel
rpm -qa freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel 注:每个lib一般都会存在一个以"devel"命名的包,安装这个"devel"的包,对应的lib也会安装好了,所以这里只需要检查安装devel的包的情况。
如果没有安装,请使用yum来安装
yum install -y zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel
yum install -y freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel 如无意外,上面的这些包除了libiconv-devel没有成功安装之外,都能够正常安装,如果这些包安装出错的请根据提示信息自行百度,libiconv-devel需要自行编译安装。从网上下载的源码包为“libiconv-1.15.tar.gz”,解压之后编译安装:
tar -xf libiconv-1.15.tar.gz
cd libiconv-1.15
./configure --prefix=/usr/local/libiconv
make
make install (2)使用epelyum源来安装libmcrypt库、mhash加密拓展库和mcrypt加密拓展库
在CentOS默认的yum源里面没有上面提到的这些库文件,因此需要实现配置epel第三方yum源,不然使用编译安装的办法会比较麻烦
yum install epel-release #可以直接用命令安装epel源
wget -O /etc/yum.repos.d/epel.repo #也可以直接下载epel的yum源文件 安装对应的类库
yum install -y libmcrypt-devel #动态加载的模块
yum install -y mhash #基于离散数学原理的不可逆的PHP加密方式拓展库
yum install -y mcrypt #实现加密解密的功能 2.开始安装PHP(FASTCGI)服务
从php官网下载的版本是"php-5.6.31.tar.gz",当然也有更新版本的。解压之后编译安装。
tar -xf php-5.6.31.tar.gz
./configure --prefix=/usr/local/php5.6.31 --with-mysql --with-pdo-mysql -with-mysqli --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-zip --enable-soap --enable-short-tags --enable-static --with-xsl --with-fpm-user=nginx --with-fpm-group=nginx --enable-ftp --with-iconv=/usr/local/libiconv 编译成功的话,会出现以下的提示。如果失败了,请根据具体的提示解答。
其中,下面说明部分的编译参数说明
参数 说明 --prefix=/usr/local/php5.6.31 指定安装的位置 --with-mysql --with-pdo-mysql -with-mysqli 安装php需要的mysql内容,如果是lnmp在同一主机上,用--with-mysql="mysql的安装路径" --with-fpm-user=nginx 指定php-fpm的进程用户为nginx,group的同理 --enable-fpm 激活php-fpm方式服务 --with-iconv=/usr/local/libiconv 指定iconv的路径(之前编译出错几次都是因为没有指定这个参数)
安装php,这样php就安装成功了。
make
make install 3.配置php的配置文件php.ini
在php的安装包解压路径下,找到php.ini的模版文件,可以看到有两个文件。
在这里我们使用后面的那个,production的。把这个文件复制到php目录下,然后改名为php.ini
cp php.ini-production /usr/local/php5.6.31/lib/php.ini 配置php-fpm.conf,这里直接用php-fpm.conf.default模版
cd /usr/local/php5.6.31/etc/
cp php-fpm.conf.default php-fpm.conf 4.启动php服务(FastCGI方式)
检查配置文件有没有错误,没有的话启动php
/usr/local/php5.6.31/sbin/php-fpm -t
/usr/local/php5.6.31/sbin/php-fpm
检查端口,9000的端口是否已经启动,启动了的话,那就可以了。
5.配置Nginx支持php程序访问
在之前的www.conf虚拟主机的配置文件里面加入php的解析
15 location ~ .*\.(php|php5)?$ {
16 root html/www;
17 fastcgi_pass 127.0.0.1:9000;
18 fastcgi_index index.php;
19 include fastcgi.conf;
20 } 完整的配置如下图:
检查并启动Nginx
6.测试LNMP是否起效。
(1)测试php解析
进入到www的站点,添加一个文件index.php
echo "" >html/www/index.php
在浏览器上输入网址验证,得到下图的页面就是OK了。也可以在linux用links工具: links www.pcm.com/index.php
(2)测试php连接MySQL的情况
同样在www的目录下新建一个test_mysql.php的文件,加入以下的内容:
浏览器打开这个页面得到结果如下,这个表示成功了,到这里LNMP就搭建成功了。
如果出现错误的提示如下,那就是数据库那里没有给到权限。
登陆数据库服务器,然后添加一个root账号,允许192.168.31.10主机访问:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.31.10' IDENTIFIED BY 'pcm123456';
flush privileges ;
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com