我使用Ubuntu 16.04作为Web服务器和mysql服务器已有很多年了。它们都在同一服务器上,可以在docker容器中运行,也可以在服务中运行。为了获得更好的性能,我决定将它们分离到不同的层。我将使用GCP 云 SQL服务作为我的数据库层。
在GCP Computer Enginer中启动另一个VM->VM实例,使用Ubuntu 18.04模板创建一个新的VM实例。
安装PHP
sudo apt update & apt upgrade & dist-upgrade
sudo apt install php-curl php-gd php-mbstring php-xml php-xmlrpc
sudo apt-get install php libapache2-mod-php
如果“ PHP”页面中缺少SQL扩展,则可能需要运行以下命令:
sudo apt-get install php7.2-mysql
获取WordPress
wget //wordpress.org/latest.tar.gz
sudo apt install apache2
cd /var/www
sudo tar xpf ~/latest.tar.gz
sudo chown -R www-data:www-data /var/www/wordpress
Apache配置
如果您的服务器上已经安装了apache2,您只需要为您的站点创建一个新的虚拟主机。首先复制默认配置或以前的配置以修改以托管WordPress。
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/wordpress.conf
sudo vi /etc/apache2/sites-available/wordpress.conf
打开您的配置并修改 DocumentRoot
指向您打开包装的位置 wordpress
directory.
DocumentRoot /var/www/wordpress
设置 ServerName
到您网站的域(或localhost或 公用IP地址 如果您只是在测试)。
ServerName 51sec.org
为创建别名 www
version too.
ServerAlias www.51sec.org
完成后,保存文件并退出。在Apache中启用您的网站。
$ sudo a2ensite wordpress.conf
重新加载Apache。
$ sudo systemctl reload apache2
Welcome to Ubuntu 18.04.2 LTS (GNU/Linux 4.15.0-1036-gcp x86_64) * Documentation: //help.ubuntu.com * Management: //landscape.canonical.com * Support: //ubuntu.com/advantage System information as of Sat Jul 13 12:11:51 UTC 2019 System load: 0.0 Processes: 106 Usage of /: 17.9% of 9.52GB Users logged in: 1 Memory usage: 60% IP address for ens4: 10.128.0.2 Swap usage: 0% * Canonical Livepatch is available for installation. - Reduce system reboots and improve kernel security. Activate at: //ubuntu.com/livepatch 0 packages can be updated. 0 updates are security updates. Last login: Sat Jul 13 01:53:27 2019 from 173.194.90.34 [email protected]:~$ cd / [email protected]:/$ ls bin dev home initrd.img.old lib64 media opt root sbin srv tmp var vmlinuz.old boot etc initrd.img lib lost+found mnt proc run snap sys usr vmlinuz [email protected]:/$ cd /etc/apache2/ [email protected]:/etc/apache2$ ls apache2.conf conf-enabled magic mods-enabled sites-available conf-available envvars mods-available ports.conf sites-enabled [email protected]:/etc/apache2$ cd sites-available/ [email protected]:/etc/apache2/sites-available$ ls 000-default.conf default-ssl.conf wordpress.conf [email protected]:/etc/apache2/sites-available$ vi wordpress.conf [email protected]:/etc/apache2/sites-available$ sudo a2enmod rewrite Enabling module rewrite. To activate the new configuration, you need to run: systemctl restart apache2 [email protected]:/etc/apache2/sites-available$ sudo service apache2 restart [email protected]:/etc/apache2/sites-available$ sudo nano /etc/apache2/apache2.conf [email protected]:/etc/apache2/sites-available$ sudo service apache2 restart [email protected]:/etc/apache2/sites-available$
将WordPress从Ubuntu 16.04平台迁移到Ubuntu 18.04平台
我曾经使用All-in-One WP Migration插件将WP站点从一台服务器迁移到另一台服务器。但是这次,在将备份文件导入新服务器时遇到了问题。我认为这可能与PHP版本有关,因为新的Ubuntu 18.04使用的是PHP 7。
快速在线搜索,似乎很多人在使用“多合一WP迁移”时都遇到了此问题。这也使我进入了一个新的迁移工具– Duplicator。
它并不像All-in-One WP Migration插件那样易于使用。但是它做得很好。
步骤1.创建包
创建几个快照文件夹或tmp文件夹,并为/ var / www / html文件夹写入权限时,可能会遇到一些问题。但是您基本上可以手动创建文件夹并将www-data:www-data授予/ var / www / html或您自己的wp文件夹,例如/ var / www / wordpress
打包站点比All-in-One插件小得多,分别为112MB和176MB。
步骤2.扫描
它将检查服务器设置,WordPress设置,文件大小和dabatase大小。我的数据库大小只有43MB。但是文件大小为174MB。
步骤3.建立
它将所有内容压缩到一个存档文件中。构建完成后,您将获得installer.php和已归档文件的下载链接。不要更改已存档的文件名,因为它包含哈希值,并且文件名模式对于还原过程很重要。
每个安装程序对于一个软件包都是唯一的。如果碰巧丢失了安装程序文件,则archive.zip中有一个名为installer-backup.php的文件,与原始安装程序相同。
第4步。将第4步文件上传到新服务器的文件夹,例如/ var / www / html。请确保新服务器的wordpress文件夹/ var / www / html下没有其他文件。
如果要恢复现有的WordPress安装,则需要手动删除wp-config.php文件。这是一种安全措施,因此您不会意外覆盖现有网站。
第五步 启动安装程序脚本
In your browser, type the address of your website with /installer.php added at the enf of your site URL (http://35.21.134.251/installer.php).
如果ziparchive和unzip存在问题,请运行以下两个命令,然后重试:
您可能还需要执行以下命令:
不要忘记重启apache2服务。
一件事,您将需要更改的是对wordpress文件夹设置可写权限。
sudo chown -R www-data:www-data /var/www/wordpress
使用您先前在GCP DB页面上定义的GCP 云 DB IP,现有数据库名称,用户名和密码连接到远程MySQL DB。
我们可能还需要更改网站设置。通常,在所有测试通过之前,我将使用IP设置作为URL,然后从WP Site Admin页面更改它们-> Settings -> General Settings:
- WordPress Address (URL) – http://35.21.134.251/
- Site Address (URL) – http://35.21.134.251/
later, I will change both of them to http://140.238.157.42
步骤6.测试站点
您的新WP网站现在应该已启动并正在运行。但是有一个问题。 ÿ您可能只能访问主页,但不能进入任何其他链接。那是因为 永久链接 不工作。
sudo a2enmod rewrite
sudo service apache2 restart
sudo nano /etc/apache2/apache2.conf
<Directory /var/www/>
Options Indexes FollowSymLinks
允许全部覆盖
Require all granted
</Directory>
sudo service apache2 restart
References: