从PHP5升级到PHP7(NGINX/Apache, CentOS 7)

php7

先决条件

在我们开始之前,我们需要添加存储库,因为PHP 7存储库在centos7不够稳定。因此,我们需要使用非默认的CentOS存储库。

下面的脚本将添加必要的yum存储库在CentOS安装PHP 7:

cd /
wget -o install.sh https://setup.ius.io/
chmod 755 install.sh
./install.sh

下面,我们就需要重新配置Apache或Nginx的。

配置Apache

第一步 -删除PHP5:

yum remove php-common mod_php php-cli -y

第二步 -从我们添加新的存储库安装PHP7:

yum install php70u-mysqlnd mod_php70u php70u-cli -y

第三步 -重启动Apache:

systemctl restart httpd

配置NGINX

第一步 -删除PHP5:

yum remove php-common php-fpm php-cli -y

第二步 -安装PHP7:

yum install php70u-mysqlnd php70u-fpm-nginx php70u-cli -y

第三步 -编辑php-fpm:

vi /etc/php-fpm.d/www.conf

查找以下行,并用分号注释掉

listen = 127.0.0.1:9000

查找以下行。并删除分号:

;listen = /run/php-fpm/www.sock

现在,找到下面的行并删除分号:

;listen.acl_users = nginx

保存并退出(hold CTRL, followed by W and Q)。

第四步 -配置NGINX:

输入文件:

vi /etc/nginx/default.conf

添加以下块:

upstream php-fpm {
 server unix:/run/php-fpm/www.sock;
 # server 127.0.0.1:9000;
}

查找以下并删除它:

fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;

现在,将其替换为:

fastcgi_pass php-fpm;

保存并退出。

第五步 -重新启动NGINX和php-fpm:

systemctl restart nginx
systemctl restart php-fpm

 

完成!

wordpress/vps搬家

最近在2台vultr的vps之间迁移wordpress,比如将VPS-1的数据迁移到VPS-2上

VPS-2上建立和VPS-1一样的环境,比如nginx,php,mysql之类

vps-1数据打包

把/home/wwwroot文件夹压缩成一个名叫wwwroot.tar.gz的压缩包,放在当前目录下

tar zcvf wwwroot.tar.gz /home/wwwroot

将wwwroot.tar.gz的压缩包放到/home/wwwroot/xxx.com/web目录下(网站根目录)

mv wwwroot.tar.gz /home/wwwroot/xxx.com/web

VPS-2获取压缩包

获取压缩包

wget http://www.com/wwwroot.tar.gz

转移压缩包到/home目录下并解压

mv wwwroot.tar.gz /home
tar zxvf wwwroot.tar.gz

数据库导出导入

用phpmyadmin导出数据库,一般为.sql文件。再用同样方法在VPS-2上获取数据库文件,然后依然用phpmyadmin导入数据库。需要注意的是数据库名不要变更。

DNS解析

将dns解析到VPS-2上

如果有更简便的方法,欢迎留言。

生成和使用ssh key登录vps

生成ssh key

  • 在官方页面http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html,下载putty_gen
  • 点击“Generate”按钮。
  • 为增加安全性,您可以输入一个密钥密码。这将需要使用SSH密钥,并防止有人访问您的密钥文件
  • 一旦密钥被生成,点击“save private key”。请务必保存到安全的地方,丢了就找不到了
  • 将生成的密钥内容复制到/root/.ssh/authorized_keys文件内。这就是你需要进入控制面板使用SSH密钥
  • 找到/etc/ssh/sshd_config ,把RSAAuthentication和PubkeyAuthentication两行前面的#注释去掉。
    C – 重启SSHD服务。
Debian/Ubuntu执行:/etc/init.d/ssh restart
CentOS执行:/etc/init.d/sshd restart

用SSH Key登陆VPS

  • 在官方页面http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html,下载putty
  • session里填写ip地址和ssh端口号,一般都是22
  • Connection–SSH–Auth,右边Private key for authentication里选择先前保存的key文件
  • Open

AMH5.3安装pecl_imagick扩展失败的解决办法

给image_magick-7.0安装pecl_imagick-3.4.1扩展的时候总是出错,错误代码为:

pkg-config not found 
configure: error: Please reinstall the pkg-config distribution 
./configure --with-php-config=/usr/local/php-5.6/bin/php-config --with-imagick=/usr/local/image_magick-7.0 
make: *** No targets specified and no makefile found. Stop. 
make: *** No rule to make target 'install'. Stop. 
mv: cannot stat '/usr/local/php-5.6/lib/php/extensions/no-debug-non-zts-20131226/imagick.so': No such file or directory

这是由于pkg-config缺失引起的,安装下pkg-config即可解决:

apt-get install pkg-config