我正在使用Light My WordPress Blog了几年。由于Google云平台免费VM的限制(614M内存和1 VCPU),我的网站始终遭受性能问题,如果将所有组件放入一台机器时。自去年以来,我一直试图使用不同类型的技术来帮助。我试图使用docker,我也将mysql db分成了不同的VM。所有这些变化都在某些条件下工作,但对于GCP F1.Micro VM而言并不好,直到我找到nginx和Mariadb。这种组合具有较少的资源使用率,并且还提供了将所有组件挤出到一个GCP自由层F1.micro VM中的可能性。

此帖子是记录我使用的所有步骤和命令。您将在帖子结束时找到一个YouTube视频以呈现安装过程。整个步骤需要30分钟到45分钟才能完成。


1.创建Ubuntu VM并将其更新至最新消息

sudo apt update && sudo apt dist-upgrade && sudo apt autoremove

2.安装nginx.

sudo apt install nginx
sudo systemctl stop nginx.service
sudo systemctl start nginx.service
sudo systemctl enable nginx.service

3.安装MariaDB.

如果已安装MariaDB,则可能需要使用命令“sudo apt-get删除mariadb-server”来删除它。

安装软件属性 - 常见:

sudo apt-get install software-properties-common

导入MariaDB GPG密钥:

sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8

添加APT存储库:

sudo add-apt-repository "deb [arch=amd64,arm64,ppc64el] http://mariadb.mirror.liquidtelecom.com/repo/10.4/ubuntu $(lsb_release -cs) main"

安装MariaDB服务器:

sudo apt update
sudo apt -y install mariadb-server mariadb-client

安全MariadB.

sudo mysql_secure_installation

出现提示时,通过遵循指南,回答以下问题。

输入root的当前密码(输入无):只需按 进入
设置root密码? [Y / N]: Y
新密码: 输入密码(YYY123456)
重新输入新的密码: 重复密码(YYY123456)
删除匿名用户? [Y / N]: Y
远程禁止root登录? [Y / N]: Y
删除测试数据库并访问它? [Y / N]:  Y
现在重新加载权限表? [Y / N]:  Y

4.创建WordPress数据库和用户进行连接

使用您在上一步中输入的root帐户和密码登录MariaDB

sudo mysql -u root -p

创建一个空白数据库wp_db;

CREATE DATABASE wp_db;

创建专用于WordPress连接的新DB用户。

CREATE USER 'wp_db_user'@'localhost' IDENTIFIED BY 'password1234';

授予新用户具有新的DB WP_DB的完全访问权限

GRANT ALL ON wp_db.* TO 'wp_db_user'@'localhost' IDENTIFIED BY 'password1234' WITH GRANT OPTION;
FLUSH PRIVILEGES; 
EXIT;

一些其他数据库命令验证创建的数据库

show databases;
use wp_db;
show tables;

5.安装PHP.
PHP7.2将用于此安装。 

sudo apt install php-fpm php-common php-mbstring php-xmlrpc php-soap php-gd php-xml php-intl php-mysql php-cli php-ldap php-zip php-curl

如果要更改PHP配置,请使用以下命令编辑:

sudo nano /etc/php/7.2/fpm/php.ini

没有必要执行此步骤以进行任何改变。

6.安装和配置WordPress
将最新版本下载到本地临时文件夹:

cd /tmp && wget //wordpress.org/latest.tar.gz
tar -zxvf latest.tar.gz
sudo mv wordpress /var/www/html/wordpress

设置WordPress根文件夹的正确权限

sudo chown -R www-data:www-data /var/www/html/wordpress/
sudo chmod -R 755 /var/www/html/wordpress/

创建一个新的wordpress wp-config.php文件。

sudo mv /var/www/html/wordpress/wp-config-sample.php /var/www/html/wordpress/wp-config.php

更改配置以连接到本地新的MariaDB服务器:

sudo nano /var/www/html/wordpress/wp-config.php
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'wp_db');

/** MySQL database username */
define('DB_USER', 'wp_db_user');

/** MySQL database password */
define('DB_PASSWORD', 'password1234');

/** MySQL hostname */
define('DB_HOST', 'localhost');

/** Database Charset to use in creating database tables. */
define('DB_CHARSET', 'utf8');

/** The Database Collate type. Don't change this if in doubt. */
define('DB_COLLATE', '');

Ctrl + W保存文件。

7.为此新的WordPress站点配置nginx
创建一个名为WordPress的新配置文件

sudo nano /etc/nginx/sites-available/wordpress

然后将下面的内容复制并粘贴到文件中并保存。代替 example.com. 使用您自己的域名。您可能还希望在切换到域之前将WordPress网站的公共IP添加到ServerName列表中。

server {
    listen 80;
    listen [::]:80;
    root /var/www/html/wordpress;
    index  index.php index.html index.htm;
    server_name  54.32.104.91 51sec.org www.51sec.org;

     client_max_body_size 100M;

    location / {
        try_files $uri $uri/ /index.php?$args;        
    }

    location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass             unix:/var/run/php/php7.2-fpm.sock;
    fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

启用新的WordPress网站

sudo ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/

重新启动nginx和php-fpm以加载新设置。

sudo systemctl restart nginx.service
sudo systemctl restart php7.2-fpm.service

重新启动这两个服务后,您可以浏览到您的网站的域名或公共IP以启动WordPress默认配置向导:

WordPress默认设置页面

然后,确保您的数据库名称,用户和密码提供详细信息。提示时输入它们:

如果一切顺利,您应该能够运行WordPress安装:

为您的WordPress站点提供标题,然后输入创建管理员帐户所需的信息:

然后点击 安装wordpress。

那就是它!您刚刚学习了如何手动安装WordPress。您现在可以使用您在安装过程中输入的帐户详细信息登录:

8.绩效评估
在一个小时的图表中,CPU利用率大部分时间介于5%和15%之间。

在一天的性能图中,CPU飙升10分钟。其他时间,CPU大部分为10%到20%之间。

对于CentOS上的相同安装,虽然进程相同,但有一些不同的命令。

YouTube:

其他一些步骤或故障排除WordPress问题,请在:
//blog.fabiandinkins.com/2017/09/troubleshooting-wordpress-out-of-memory.html

GCP自由层上的性能调整

APT更新任务运行时存在一些CPU高问题。我发现了几个命令禁用这些计划任务,这使我的GCP自由层VM更稳定。在Ubuntu 18.04(和Up)上,可能最多有两个服务随机计划的APT更新/升级涉及。第一个apt-daily.service刷新包列表。但是,可以存在第二个APT-Dainion-upgrade.service,其实际安装安全性关键包。

Sep 10 06:28:28 ubuntu-min-nginx systemd[1]: Starting Daily apt upgrade and clean activities...
Sep 10 06:28:40 ubuntu-min-nginx systemd[1]: Started Daily apt upgrade and clean activities.
Sep 10 18:32:28 ubuntu-min-nginx systemd[1]: Starting Daily apt download activities...
Sep 10 18:32:28 ubuntu-min-nginx systemd[1]: Started Daily apt download activities.

基本上我们 can systemctl disable 服务及其相关的计时器(即 apt-daily.timer and apt-daily-upgrade.timer)。

sudo systemctl stop apt-daily.timer
sudo systemctl stop apt-daily-upgrade.timer
sudo systemctl disable apt-daily.service
sudo systemctl disable apt-daily.timer

sudo systemctl disable apt-daily-upgrade.timer
sudo systemctl disable apt-daily-upgrade.service
sudo systemctl mask apt-daily.service apt-daily-upgrade.service
sudo systemctl daemon-reload

  mv /usr/lib/apt/apt.systemd.daily /usr/lib/apt/apt.systemd.daily.DISABLED

参考:

经过 Jon.

发表评论