有危险但是一切安好的升级
之前在将网站升级到https的途中,一直找不到mod_ssl该安装哪个。直接yum install mod_ssl提示与php版本不兼容,索性我就将之前的httpd卸载,然后直接yum install httpd,不带任何数字。当然最后挺成功的,虽然我都不知道安装都是哪个版本都apache以及php。
之后在wordpress后台老是一个大大都警告,以及很多插件用不了,phpmyadmin也用老版都才行,而且那个警告说我用的版本已经不提供支持了,所以决定更新到最新版php70。
先停用apache:service httpd stop
卸载旧版本:yum remove httpd
可以看到一些相关都包也被卸掉了,我的结果是这样的:
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Removing:
httpd x86_64 2.2.32-1.9.amzn1 @amzn-updates 3.1 M
Removing for dependencies:
mod_ssl x86_64 1:2.2.32-1.9.amzn1 @amzn-updates 195 k
php x86_64 5.3.29-1.8.amzn1 @amzn-main 7.4 M
Transaction Summary
================================================================================
Remove 1 Package (+2 Dependent packages)
输入y卸载。
然后输入 yum list installed | grep php 查询到还有很多遗留包每删干净,
Failed to set locale, defaulting to C
php-cli.x86_64 5.3.29-1.8.amzn1 @amzn-main
php-common.x86_64 5.3.29-1.8.amzn1 @amzn-main
php-mbstring.x86_64 5.3.29-1.8.amzn1 @amzn-main
php-mcrypt.x86_64 5.3.29-1.8.amzn1 @amzn-main
php-mysql.x86_64 5.3.29-1.8.amzn1 @amzn-main
php-pdo.x86_64 5.3.29-1.8.amzn1 @amzn-main
php-xml.x86_64 5.3.29-1.8.amzn1 @amzn-main
把旧的php全删掉以绝后患:yum remove php-*
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Removing:
php-cli x86_64 5.3.29-1.8.amzn1 @amzn-main 6.4 M
php-common x86_64 5.3.29-1.8.amzn1 @amzn-main 6.3 M
php-mbstring x86_64 5.3.29-1.8.amzn1 @amzn-main 4.1 M
php-mcrypt x86_64 5.3.29-1.8.amzn1 @amzn-main 92 k
php-mysql x86_64 5.3.29-1.8.amzn1 @amzn-main 445 k
php-pdo x86_64 5.3.29-1.8.amzn1 @amzn-main 381 k
php-xml x86_64 5.3.29-1.8.amzn1 @amzn-main 625 k
Transaction Summary
================================================================================
Remove 7 Packages
看还剩下这么多残留。
同样的道理删除apache相关的遗留包:yum list installed | grep http
删删删:yum remove httpd-*
删完旧的,该装新的了:
yum install httpd24 php70 php70-mysqlnd mod24_ssl php70-mcrypt php70-mbstring
第一个是apache,第二个是新版php,第三个是php连接mysql用到的插件,第四个是我启用SSL连接要用到的一个库,后两个是phpmyadmin用到的插件,前三个是必须的,后边的根据需要安装。
安装好后就可以启动了,由于我是用的WordPress permalink 需要使用 Apache .htaccess 文件才能正常工作,但默认情况下这些文件在 Amazon
Linux 上处于禁用状态。所以要把这个开启:
vim /etc/httpd/conf/httpd.conf
找到以 <Directory “/var/www/html”> 开头的部分。在以上部分中将 AllowOverride None 行改为读取 AllowOverride All。此文件中有多个 AllowOverride 行;请确保更改 <Directory “/var/www/html”> 部分中的
行。
这样就可以开启服务器了: service httpd start
然后看看你的网站能不能访问有没有问题。
发现同时解决了php内存占用问题,之前待机这个服务用掉我900M内存,新的php70待机只需要500M,并且响应速度比之前也好很多,真是一举多得。下边两个图,上图是旧版php开启和关闭内存状态,下图是新版php开启后内存状态,差别挺大的。
看下边新的php都用不到swap