本来我是一直用的nginx的,现在安全者的服务器是用的tengine,稳定性就不用多说了!

前段时间用thinkphp写了两个两个项目,刚开始放到了国外的服务器上,环境也是lnmp的,最后发现nginx是不支持pathinfo的, 想要支持的话得改很多地方,我也尝试过。最后地址是可以通过path模式和伪静态模式访问的。但是如果地址使用U方法生成的话,还是兼容模式的地址!比如 这种:http://localhost/?s=/home/user/login

技术有限…U方法生成的地址清是搞不定…最后无奈换回了Apache。因为yum安装的php是5.3的,想要安装5.4的话得手动编译。最后百度了一个安装包,感觉用着还行。今天推荐给大家

这个安装包的地址:​​http://teddysun.com/lamp​



本脚本适用环境:

系统支持:CentOS/Redhat/Fedora

内存要求:≥256M

硬盘要求:2GB以上的剩余空间

服务器必须配置好软件源和可连接外网

必须具有系统 root 权限

建议使用干净系统全新安装

日期:2014年11月14日

关于本脚本:

支持 PHP 自带所有组件;

支持 MySQL ,MariaDB, SQLite 数据库;

支持 OCI8 (可选安装);

支持 pure-ftpd (可选安装);

支持 memcached (可选安装);

支持 ImageMagick (可选安装);

支持 GraphicsMagick (可选安装);

支持 Zend Guard Loader (可选安装);

支持 ionCube PHP Loader (可选安装);

支持 XCache ,Zend OPcache (可选安装);

命令行新增虚拟主机,操作简便;

自助升级 PHP,phpMyAdmin,MySQL 或 MariaDB 至最新版本;

支持创建 FTP 用户;

一键卸载(切记,卸载前请注意备份数据)。

将会安装:

1、Apache 2.4.10

2、MySQL 5.6.21、MySQL 5.5.40、MariaDB 5.5.40、MariaDB 10.0.14 (四选一安装)

3、PHP 5.4.34, PHP 5.3.29, PHP 5.5.19 (三选一安装)

4、phpMyAdmin 4.2.11

5、OCI8 2.0.8 (可选安装)

6、xcache 3.2.0 (可选安装)

7、pure-ftpd-1.0.36 (可选安装)

8、memcached-1.4.20 (可选安装)

9、Zend OPcache 7.0.3 (可选安装)

10、ImageMagick-6.8.9-8 (可选安装)

11、GraphicsMagick-1.3.20 (可选安装)

12、Zend Guard Loader 3.3 (可选安装)

13、ionCube PHP Loader 4.6.1 (可选安装)

如何安装:

事前准备(安装 wget、screen、unzip,创建 screen 会话):



yum -y install wget screen unzipscreen -S lamp




1


2




yum -y install wget screen unzip


screen -S lamp



第一步,下载、解压、赋予执行权限:



wget --no-check-certificate -O lamp.zip https://github.com/teddysun/lamp/archive/master.zipunzip lamp.zip cd lamp-master/ chmod +x *.sh




1


2


3


4




wget --no-check-certificate -O lamp.zip https://github.com/teddysun/lamp/archive/master.zip


unzip lamp.zip


cd lamp-master/


chmod +x *.sh



第二步,安装 LAMP 一键安装包

终端中输入以下命令:



./lamp.sh 2>&1 | tee lamp.log




1




./lamp.sh 2>&1 | tee lamp.log



安装其它:

1、(可选安装)执行脚本 xcache.sh 安装 xcache 。(命令:./xcache.sh)

2、(可选安装)执行脚本 oci8_oracle11g.sh 安装 OCI8 扩展以及 oracle-instantclient11.2。(命令:./oci8_oracle11g.sh)

3、(可选安装)执行脚本 pureftpd.sh 安装 pure-ftpd-1.0.36。(命令:./pureftpd.sh)

4、(可选安装)执行脚本 ZendGuardLoader.sh 安装 Zend Guard Loader。(命令:./ZendGuardLoader.sh)

5、(可选安装)执行脚本 ioncube.sh 安装 ionCube PHP Loader。(命令:./ioncube.sh)

6、(可选安装)执行脚本 ImageMagick.sh 安装 imagick 的 PHP 扩展。(命令:./ImageMagick.sh)

7、(可选安装)执行脚本 GraphicsMagick.sh 安装 gmagick 的 PHP 扩展。(命令:./GraphicsMagick.sh)

8、(可选安装)执行脚本 opcache.sh 安装 Zend OPcache 的 PHP 扩展。(命令:./opcache.sh)

9、(可选安装)执行脚本 memcached.sh 安装 memcached 及 memcached 的 PHP 扩展。(命令:./memcached.sh)

10、(升级脚本)执行脚本 upgrade_php.sh 将会升级 PHP 和 phpMyAdmin 至最新版本。(命令:./upgrade_php.sh | tee upgrade_php.log)

11、(升级脚本)执行脚本 upgrade_mysql.sh 将会升级 MySQL 至已安装版本的最新版本。(命令:./upgrade_mysql.sh | tee upgrade_mysql.log)

12、(升级脚本)执行脚本 upgrade_mariadb.sh 将会升级 MariaDB 至已安装版本的最新版本。(命令:./upgrade_mariadb.sh | tee upgrade_mariadb.log)

关于 upgrade_php.sh

新增 upgrade_php.sh 脚本,目的是为了自动检测和升级 PHP 和 phpMyAdmin。这两种软件版本更新比较频繁,因此才会有此脚本,方便升级。

使用方法:



./upgrade_php.sh | tee upgrade_php.log




1




./upgrade_php.sh | tee upgrade_php.log



关于 upgrade_mysql.sh

新增 upgrade_mysql.sh 脚本,目的是为了自动检测和升级 MySQL。升级之前自动备份全部数据库,在升级完成之后再将备份恢复。

使用方法:



./upgrade_mysql.sh | tee upgrade_mysql.log




1




./upgrade_mysql.sh | tee upgrade_mysql.log



关于 upgrade_mariadb.sh

新增 upgrade_mariadb.sh 脚本,目的是为了自动检测和升级 MariaDB。升级之前自动备份全部数据库,在升级完成之后再将备份恢复。

使用方法:



./upgrade_mariadb.sh | tee upgrade_mariadb.log




1




./upgrade_mariadb.sh | tee upgrade_mariadb.log



注意:

1、执行脚本时出现下面的错误提示时。



-bash: ./lamp.sh: /bin/bash^M: bad interpreter: No such file or directory




1




-bash: ./lamp.sh: /bin/bash^M: bad interpreter: No such file or directory



是因为Windows下和Linux下的文件编码不同所致。

解决办法是:

执行



vi lamp.sh




1




vi lamp.sh



输入命令



:set ff=unix




1




:set ff=unix



#注意,包括冒号

回车后,输入ZZ(两个大写字母z),即可保存退出vi命令。

2、Oracle 数据库连接错误排查

一般连接外部 oracle 服务器那一步骤时,可能会出现 ORA-24408:could not generate unique server group name 这样的错误,解决办法是在 hosts 中将主机名添加即可:



vi /etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 test ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 test




1


2


3




vi /etc/hosts


127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 test


::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 test



上面的代码中,test即为主机名。然后重启网络服务即可。​​service network restart​

3、增加 FTP 用户相关

在运行 lamp ftp add 命令之前,先要安装 pure-ftpd ,如果开启了防火墙的话,还需要对端口 21 放行。

执行以下命令安装 pure-ftpd:



./pureftpd.sh 2>&1 | tee pureftpd.log




1




./pureftpd.sh 2>&1 | tee pureftpd.log



使用提示:



lamp add(del,list):创建(删除,列出)虚拟主机。lamp ftp(add|del|list):创建(删除,列出)ftp 用户。 lamp uninstall:一键删除 LAMP(切记,删除之前请注意备份数据!)




1


2


3




lamp add(del,list):创建(删除,列出)虚拟主机。


lamp ftp(add|del|list):创建(删除,列出)ftp 用户。


lamp uninstall:一键删除 LAMP(切记,删除之前请注意备份数据!)



 

程序目录:

MySQL 安装目录: ​​/usr/local/mysql​

MySQL 数据库目录:​​/usr/local/mysql/data​​(默认,安装时可更改路径)

MariaDB 安装目录: ​​/usr/local/mariadb​

MariaDB 数据库目录:​​/usr/local/mariadb/data​​(默认,安装时可更改路径)

PHP 安装目录: ​​/usr/local/php​

Apache 安装目录:​​ /usr/local/apache​

 

命令一览:

MySQL 或 MariaDB 命令:



/etc/init.d/mysqld(start|stop|restart|status)




1




/etc/init.d/mysqld(start|stop|restart|status)



Apache命令:



/etc/init.d/httpd(start|stop|restart|status)




1




/etc/init.d/httpd(start|stop|restart|status)



网站根目录:

默认的网站根目录:​​ /data/www/default​