LNMP平台搭建---PHP安装篇
在前面三篇中,我们安装了Linux系统、Web服务器Nginx、MySQL数据库服务器,这篇就来将搭建动态网站的最后一步:PHP安装。
Nginx服务器只能响应静态资源请求,对于动态资源请求就不行了,因此,需要借助脚本语言来处理,这一过程大概这样:
1. 配置Nginx服务器能接受动态资源请求;
2. 将动态资源请求转发到脚本语言解析器去处理;
3. Nginx继续处理静态资源请求,脚本语言返回结果后再返回给客户端
在Nginx服务器和PHP解析器两者之间,就需要借助FastCGI这一个桥梁了,FastCGI其实就是socket,主要把动态语言和Web服务器隔离开并搭建通讯管道,它采用C/S架构(Web服务器/PHP解析器),这样,Nginx服务器就专门处理静态资源请求和将动态资源转到后端PHP解析器执行,PHP解析器就专门处理动态请求并生成静态资源返回给Nginx服务器。
Nginx服务器是支持FastCGI的,在其安装目录的conf目录下可以看到fastcgi的配置文件:
PHP程序安装需要依赖一下这些库,在安装它之前必须先安装它们:
zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel freetype-devel libpng-devel gd-devel
libcurl-devel libxslt-devel libmcrypt-devel mhash mcrypt
安装这些依赖库都不难,这里yum安装就行了
然后就可以进行php的安装了,源码安装linux平台软件步骤都差不多,解压,配置生成makefile,然后make,最后sudo make install。
1. 解压,进入目录:
2. 配置生成makefile文件,配置参数如下:
./configure --prefix=/home/linjk/usr/php/php-5.3.27 --with-mysql=/home/linjk/usr/mysql/mysql-5.5.32 --with-iconv-dir=/usr/local/libiconv --with-freetype-dir=/usr/local/freetype --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir --enable-xml --disable-rpath --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --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-zend-multibyte --enable-static --with-xsl
3. 编译:
sudo ln -s /home/linjk/usr/mysql/mysql-5.5.32/lib/libmysqlclient.so.18 /usr/lib64/
在解压后进入目录后的目录下执行:
sudo touch ext/phar/phar.phar
make
sudo make install
4. 安装完成后,配置php.ini文件
cp php.ini-production /home/linjk/usr/php/php-5.3.27/lib/php.ini
5. 配置PHP服务
cd /home/linjk/usr/php/php-5.3.27/etc
cp php-fpm.conf.default php-fpm.conf
6. 启动php服务
/home/linjk/usr/php/php-5.3.27/sbin/php-fpm
检查一下:
7. 配置Nginx服务器支持php的请求,这里新建一个网站,就是在nginx.conf新增一个虚拟主机server块,其配置如下:
这里设置了其监听端口和域名,并且启用了ssl协议支持,并配置支持html和php的资源请求
然后测试nginx配置文件没问题后,进行重启"sudo ./nginx -s reload"即可。
8. 测试PHP请求是否有效:
最常用的检查脚本如下:
<?php
phpinfo();
?>
这里使用一个获取当前目录下文件来演示,这个目录下我上传了安装linux服务器会用到的一些资源库,也方便以后下载,代码如下:
<html>
<head>
<meta charset="UTF-8">
</head>
<body> <h3>upload文件夹当前存在的文件:</h3>
<br/>
<?php
/**
* 列出html/upload路径下所有文件.
* User: linjk
* Date: 06/11/2016
* Time: 20:10
*/
define("LIST_DIR", "../../upload"); if (defined("LIST_DIR")) {
$filesnames = scandir(LIST_DIR); foreach ($filesnames as $name) {
if ($name=="." || $name=="..") {
continue;
} $url="https://www.linjk.cn:3298/upload/".$name; echo "<a href='$url'>" . $name . "</a><br/>";
}
}
?>
</body>
</html>
这里使用phpstorm进行开发php程序,配置服务器路径和环境然后就可以使用SFTP协议上传和同步文件了,上传后访问结果如下:
这样,基于LNMP平台的动态网站就搭建完成了。
LNMP平台搭建---PHP安装篇的更多相关文章
- LNMP平台搭建---Nginx安装篇
在上一篇博文<LNMP平台搭建---Linux系统安装篇>中,我们安装了CentOS版本的Linux操作系统,现在,我们来安装一个Web服务器,大标题写着LNMP,其中的N就是Nginx, ...
- LNMP平台搭建---MySQL安装篇
在前两篇中,安装了一个基本的Web服务器,但是只能提供静态网页查看,要做成动态网站,就必须要数据库或其他编程语言支持了,这里先介绍MySQL数据库的安装. MySQL是一个开源的数据库,在互联网行业应 ...
- LNMP平台搭建---Linux系统安装篇
在互联网网站开发领域,有一个名词,大家一定不陌生,那就是LAMP,经典的Web服务器环境,由Linux+Apache+MySQL+PHP组成,,后来,一个名叫Nginx的Web服务器开源出来了,因其更 ...
- LNMP平台搭建之一:nginx编译安装
参考博客:https://www.cnblogs.com/zhang-shijie/p/5294162.html jack.zhang 一.环境说明 系统环境:centos6.5 [root@lo ...
- postfix邮件服务器搭建03-webmail安装篇
本文接着上文的安装进行,介绍另一个WebMail功能更加人性化的roundcube.当然也可以对已有的postfix邮件系统进行功能完善 1.下载安装roundcube cd /server/tool ...
- lnmp平台菜鸟入门级笔记
LNMP平台搭建 Mysql安装 MySQL安装 回复收藏 分享 1 下载MySQL数据库l到/usr/local/src/[root@xin tmp]# cd ...
- 【iOS】Jenkins Gitlab持续集成打包平台搭建
Jenkins Gitlab持续集成打包平台搭建 SkySeraph July. 18th 2016 Email:skyseraph00@163.com 更多精彩请直接访问SkySeraph个人站点: ...
- Jenkins Gitlab持续集成打包平台搭建
http://www.cnblogs.com/skyseraph/p/5695021.html 1. 相关概念 Jenkins Jenkins,一个用Java编写的开源的持续集成工具,提供了软件开发的 ...
- 基础架构之日志管理平台搭建及java&net使用
在现代化的软件开发流程中,日志显得非常的重要,不可能再零散的游离在各个项目中,等查看日志的时候再登录服务器去到特定的目录去查看,这显然很繁琐且效率低下,所有整合一套日志管理平台,也显得非常重要,这篇文 ...
随机推荐
- 关于Deprecated: mysql_result: The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in
require_once('connect.php'); $sql = "select * from introduce"; \(query = mysql_query(\)sql ...
- VS 团队资源管理 强制解锁锁定文件
故事是这样发生的: 以前有台电脑,在团队资源里看程序,可能冥冥中不小心按了个空格,so,文件被锁定 而我却没有发现 如果再给我一个机会,我只想说记得签入 然后,高潮来了 重装电脑 欣喜的装好新机子打开 ...
- Delphi 实现数字转大写
从网上找的一段代码 /// <summary> /// 小写转大写 /// </summary> /// <param name="mmje"> ...
- 关于Scala的一些感想(一)
最近在完成自己的开源项目Application-center的时候,使用了Scala编程语言. 在使用了一段时间下来以后,有一些不是很"清晰"的感受,说实话我自己还没有很好的整理清 ...
- php判断中文,英文, 数字
exeg Warning This function was DEPRECATED in PHP 5.3.0, and REMOVED in PHP 7.0.0. function checkStr ...
- Wifi代替数据线调试
我们通常都是使用USB线连接设备和电脑进行的程序调试. 有的程序本身就要使用USB口,例如一个文件浏览器,它可以列出通过USB接口接入的U盘. 在调试这样的应用的时候,USB接口被占用了,但设备也只有 ...
- 如何将EXCEL表导入ORACLE数据库中?【转】
来源:https://zhidao.baidu.com/question/383828330.html?qbl=relate_question_2&word=excel%20%B1%ED%CA ...
- centos6.7设置非root帐户自动登录
1.在/etc/gdm/custom.conf文件中修改并加入以下这段 [daemon]AutomaticLogin=你的用户名AutomaticLoginEnable=True 2.重启 reboo ...
- Spring中配置和读取多个Properties文件--转
public class PropertiesFactoryBeanextends PropertiesLoaderSupportimplements FactoryBean, Initializin ...
- [Nhibernate]二级缓存(二)
目录 写在前面 文档与系列文章 更新数据 二级缓存管理 总结 写在前面 本篇文章也算nhibernate入门系列的结尾了,在总结nhibernate系列的过程中,遇到了很多问题,学习的过程也是解决bu ...