【PHP部署 Linux】Linux网站架构系列之PHP部署篇
来源:互联网 发布:奇迹归来坐骑进阶数据 编辑:程序博客网 时间:2024/06/06 10:52
http://www.it165.net/os/html/201311/6672.html
一、准备工作
1、检查apache和mysql安装情况
由于php作为一种编程语言,因此我们往往不会去裸装php。上文也提到,lamp和lnmp架构中的p指的就是php。因此,我们这里要在安装php之前,先检查一下apache和mysql服务是否开启。这样,我们在后面安装完PHP之后,我们就可以检查apache是否成功支持它,以及是否和mysql数据库连接正常了。
检查方法一共有三种:
第一种、检查路径
检查我们apache和mysql软件包的安装路径,根据我们的习惯,我们都是讲软件编译安装/usr/local目录下,然后以软件名称命名的,因此我们就ll跟上软件名,看是否有其目录存在即可。
第二种、检查端口
在部署PHP的是否,一般都是我们apache和mysql已经部署好了,并且服务也是开启状态的。因此我们可以通过查看其端口来判断是否安装。
注意:apache常用的端口为80,mysql的则为3306。这两个端口我们一定要记牢。
[root@c64-lamp ~]# netstat -lnt|egrep "3306|80"tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTENtcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN
第三种、查看版本
这一种方法是最实在的方法,我们可以查看apache和mysql的版本来确定是否安装了此服务。查看方法如下:
[root@c64-lamp ~]# /usr/local/apache/bin/apachectl -v[root@c64-lamp ~]# mysql -uroot -p -e "select version();"[root@c64-lamp ~]# mysql -uroot -p -e "select version();"Enter password:+-----------+| version() |+-----------+| 5.1.70 |+-----------+
2、环境检查
1、常用lib库安装
由于PHP的安装需要调用很多lib库,因此我们需要预先查看这些lib是否存在才行。缺少的话,要及时安装,不然下面的操作就会报错。
我们可以用rpm -qa后跟软件名的方式来查看软件是否安装。
[root@c64-lamp ~]# rpm -qa zlib libxml libjpeg freetype libpng gd curl libiconv zlib-devel libxml2-devel libjpeg-devel freetype-devel libpng-devel gd-devel curl-devel
检测完之后,我们可以用yun来安装缺少的包,这里为了方便,我就全给列出来了。
[root@c64-lamp ~]# yum install zlib libxml libjpeg freetype libpng gd curl libiconv zlib-devel libxml2-devel libjpeg-devel freetype-devel libpng-devel gd-devel curl-devel libxslt-devel -y
2、字符库安装
安装libiconv库
[root@c64-lamp ~]# cd /tools[root@c64-lamp tools]# wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz[root@c64-lamp tools]# tar zxf libiconv-1.14.tar.gz[root@c64-lamp tools]# cd libiconv-1.14[root@c64-lamp libiconv-1.14]# ./configure --prefix=/usr/local/libiconv[root@c64-lamp libiconv-1.14]# make && make install[root@c64-lamp libiconv-1.14]# cd ../
3、libmcrypte库(加密相关库)
[root@c64-lamp tools]# wget http://ncu.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz[root@c64-lamp tools]# tar zxf libmcrypt-2.5.8.tar.gz[root@c64-lamp tools]# cd libmcrypt-2.5.8[root@c64-lamp libmcrypt-2.5.8]# ./configure[root@c64-lamp libmcrypt-2.5.8]# make&&make install[root@c64-lamp libmcrypt-2.5.8]# /sbin/ldconfig[root@c64-lamp libmcrypt-2.5.8]# cd libltdl/[root@c64-lamp libltdl]# ./configure --enable-ltdl-install[root@c64-lamp libltdl]# make&&make install[root@c64-lamp libltdl]# cd ../../
4、安装mhash加密扩展库
mhash是基于离散数学原理的不可逆向的php加密方式扩展库,其在默认情况下不开启。mhash的可以用于创建效验数值,消息摘要,消息认证码,以及无需原文的关键信息保存(密码)等。
Mhash为php提供了多种哈希算法,如MD5,SHA1,GOST等。你可以通过MHASH_hashname()来查看支持的算吗有哪些。
注意问题:
1、该扩展不能提供最新的哈希算法
2、该扩展结果原则上运算不可逆
[root@c64-lamp tools]# wget http://sourceforge.net/projects/mhash/files/mhash/0.9.9.9/mhash-0.9.9.9.tar.gz/download [root@c64-lamp tools]# tar zxf mhash-0.9.9.9.tar.gz [root@c64-lamp tools]# cd mhash-0.9.9.9[root@c64-lamp -0.9.9.9]# ./configure [root@c64-lamp -0.9.9.9]# make && make install [root@c64-lamp -0.9.9.9]# cd ../ [root@c64-lamp -0.9.9.9]# 这里注意,下面的命令,我直接复制了粘贴到这执行的,方便你们输入,你们搞时,注意看下没错,就全部复制执行。一条一条太费劲了。 rm -f /usr/lib64/libmcrypt.* rm -f /usr/lib64/libmhash* ln -s /usr/local/lib64/libmcrypt.la /usr/lib64/libmcrypt.la ln -s /usr/local/lib64/libmcrypt.so /usr/lib64/libmcrypt.so ln -s /usr/local/lib64/libmcrypt.so.4 /usr/lib64/libmcrypt.so.4ln -s /usr/local/lib64/libmcrypt.so.4.4.8 /usr/lib64/libmcrypt.so.4.4.8ln -s /usr/local/lib64/libmhash.a /usr/lib64/libmhash.a ln -s /usr/local/lib64/libmhash.la /usr/lib64/libmhash.la ln -s /usr/local/lib64/libmhash.so /usr/lib64/libmhash.so ln -s /usr/local/lib64/libmhash.so.2 /usr/lib64/libmhash.so.2ln -s /usr/local/lib64/libmhash.so.2.0.1 /usr/lib64/libmhash.so.2.0.1ln -s /usr/local/bin/libmcrypt-config /usr/bin/libmcrypt-config cp -frp /usr/lib64/libldap* /usr/lib/ #这最后一个是由于下面编译时跟了ldap参数,因此这里就执行下这个防止后面安装报错,大家不要奇怪哈 [root@c64-lamp ~]# cd ../
注意:这里如果我们用的是32位系统,那么我们就需要把lib64替换成lib。另外,其实64位用lib也是能用的,不过用lib64的更好一点。
4、安装mcrypt加密扩展库
PHP程序员在编写代码程序时,除了要保证代码的高性能之外,还有一点是非常重要的,那就是程序的代码的安全性保障。PHP除了自带的几种加密函数外,还有功能更全面的PHP加密库Mcrypt和Mhash。
其中,Mcrypt扩展库可以实现加密解密功能,就是既能将明文加密,也可以密文还原。
mcrypt是php里面重要的加密支持扩展库,该库在默认情况下不开启。
编辑本段支持的算法和加密模式
Mcrypt库支持20多种加密算法和8种加密模式,具体可以通过函数mcrypt_list_algorithms()和mcrypt_list_modes()来显示。
[root@c64-lamp tools]# wget http://sourceforge.net/projects/mcrypt/files/MCrypt/2.6.8/mcrypt-2.6.8.tar.gz/download [root@c64-lamp tools]# tar zxf mcrypt-2.6.8.tar.gz [root@c64-lamp tools]# cd mcrypt-2.6.8 [root@c64-lamp mcrypt-2.6.8]# /sbin/ldconfig [root@c64-lamp mcrypt-2.6.8]# ./configure [root@c64-lamp mcrypt-2.6.8]# make&&make install [root@c64-lamp mcrypt-2.6.8]# cd ../
5、PHP源码包下载
[root@c64-lamp tools]# wget http://cn2.php.net/distributions/php-5.3.27.tar.gz
二、安装PHP
上面的各种步骤准备完毕之后,下面就可以开始安装PHP了。
[root@c64-lamp tools]# tar zxf php-5.3.27.tar.gz [root@c64-lamp php-5.3.27]# cd php-5.3.27.tar.gz [root@c64-lamp php-5.3.27]# ./configure --prefix=/usr/local/php5.3.10 --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql --with-xmlrpc --with-openssl --with-zlib --with-freetype-dir --with-gd --with-jpeg-dir --with-png-dir --with-iconv=/usr/local/libiconv --enable-short-tags --enable-sockets --enable-zend-multibyte --enable-soap --enable-mbstring --enable-static --enable-gd-native-ttf --with-curl --with-xsl --enable-ftp --with-lixml-dir --enable-xml --disable-rpath --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curlwrappers --enable-mbregex --with-mcrypt --with-mhash --enable-pcntl --with-ldap --with-ldap-sasl --enable-zip --with-libevent-dir [root@c64-lamp php-5.3.27]# make && make install
三、配置PHP
1、获取主配置文件
php的配置文件默认有2个。第一个是开发环境下的,第二个是生产环境下的。
[root@c64-lamp php-5.3.27]# cd ../ [root@c64-lamp tools]# ls /server/tools/php-5.3.27/php.ini-* /server/tools/php-5.3.27/php.ini-development /server/tools/php-5.3.27/php.ini-production
开发版和产品版最大区别在于,开发错的错误日志和调试信息都打开了,方便调试。
[root@c64-lamp tools]# cp /server/tools/php-5.3.27/php.ini-production /usr/local/php/lib/php.ini
2、配置apache支持
每次对主配置文件操作之前,都需要进行备份操作,这样不仅可以防止误操作,而且可以做修改对比。
[root@c64-lamp tools]# cp /usr/local/apache/conf/httpd.conf /usr/local/apache/conf/httpd.conf.bak
[root@c64-lamp tools]# vim /usr/local/apache/conf/httpd.conf AddType application/x-httpd-php .php .php3 AddType application/x-httpd-php-source .phps
配置完成之后,对apache服务进行重启之后,编写一个下面的php后缀文件,
[root@c64-lamp tools]# vim /www/sunsky/index.php <?php phpinfo; ?>
然后访问它,如果出现下面的图画,则说明apache已经支持了php功能。
3、配置mysql支持
这个无需配置什么,默认成功安装之后,即可。
我们同样需要创建一个php后缀的文件,内容如下
[root@c64-lamp tools]# vim /www/sunsky/mysql.php <?php //$link_id=mysql_connect('主机名','用户','密码'); $link_id=mysql_connect('localhost','root','mima') or mysql_error(); //$link_id=mysql_connect('localhost','test',''); if($link_id){ echo "mysql successful by sunsky !"; }else{ echo mysql_error(); } ?>
- 【PHP部署 Linux】Linux网站架构系列之PHP部署篇
- linux下部署php应用
- LAMP(Linux+Apache+Mysql+PHP)部署日志
- 关于在linux下部署php项目
- Linux下部署php多版本共存
- linux下自动化部署apache + php环境
- linux系统部署php+mysql+apache
- 部署xhprof监控php效率(linux版本)
- linux 服务器部署 lnamp 三、php安装
- linux下部署网站
- 使用 xampp-部署php网站
- PHP:linux下如何部署php项目(一)
- PHP:linux下如何部署php项目(二)
- linux部署php运行环境,apache+mysql+php
- Linux服务器部署系列之七—OpenLDAP篇
- Linux下部署LAMP环境(Linux+Apache+MySQL+PHP)
- 部署PHP
- Linux之nfs部署
- Python 在Windows环境中备份文件 脚本程序 版本2
- mysql主键设置了递增,插入语句的写法
- Java正则取文件夹下所有匹配内容
- H5经纬度百度定位不准问题
- 你不可不知的interface(1)-引入及特点
- 【PHP部署 Linux】Linux网站架构系列之PHP部署篇
- Apache CXF REST api
- 104-string和StringBuilder的区别
- Redis有序集合命令ZREVRANGEBYLEX详解与应用
- R 实现GOstats 的方法(特定数据集合的分析)
- mac终端显示和隐藏隐藏文件的命令
- Windows Server 2008通过计划任务定时执行bat文件
- 状态机的两种写法对比
- adb启动应用