如何在 CentOS 7 上使用 HHVM 和 Nginx 安装 WordPress如何在 CentOS 7 上使用 HHVM 和 Nginx 安装 WordPress如何在 CentOS 7 上使用 HHVM 和 Nginx 安装 WordPress如何在 CentOS 7 上使用 HHVM 和 Nginx 安装 WordPress
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在 CentOS 7 上使用 HHVM 和 Nginx 安装 WordPress

在此页

  1. 第 1 步 - 配置 SELinux 并添加 Epel 存储库
  2. 第 2 步 - 安装 Nginx
  3. 第 3 步 - 安装和配置 MariaDB
  4. 第 4 步 - 安装 HHVM
  5. 第 5 步 - 配置 HHVM
  6. 第 6 步 - 配置 HHVM 和 Nginx
  7. 第 7 步 - 使用 HHVM 和 Nginx 创建虚拟主机
  8. 第 8 步 - 安装 WordPress
  9. 参考资料

HHVM(HipHop Virtual Machine)是一个开源虚拟机,用于执行用 PHP 和 Hack 语言编写的程序。 HHVM 由 Facebook 开发,它提供了当前 PHP 7 版本的大部分功能。要在您的服务器上运行 HHVM,您可以使用 FastCGI 将 HHVM 与 Nginx 或 Apache 网络服务器连接起来,或者您可以使用 HHVM 中内置的名为“Proxygen”的网络服务器。

在本教程中,我将向您展示如何使用 HHVM 和 Nginx 作为 Web 服务器安装 WordPress。我将使用 CentOS 7 作为操作系统,因此需要 CentOS 的基本知识。

先决条件

  • CentOS 7 - 64 位
  • 根权限

第 1 步 - 配置 SELinux 并添加 Epel 存储库

在本教程中,我们将在强制模式下使用 SELinux,因此我们需要在系统上安装 SELinux 管理工具。我们将使用 setools 和 setrobleshoot 来管理 SELinux 策略。

默认情况下,SELinux 在 CentOS 7 上启用,我们可以使用以下命令检查:

sestatus
getenforce

您可以看到 SELinux 已启用强制模式。

接下来,使用 yum 命令安装 setools 和 setroubleshoot。

yum -y install setroubleshoot setools net-tools

安装完成后,您可以安装 EPEL 存储库。

yum -y install epel-release

第 2 步 - 安装 Nginx

Nginx 或 engine-x 是一种轻量级的 Web 服务器,具有高性能和低内存消耗。在 CentOS 上,我们可以使用 yum 安装 Nginx 包。确保您以根用户身份登录!

从 CentOS 存储库使用这个 yum 命令安装 nginx:

yum -y install nginx

现在启动 Nginx 并使用 systemctl 命令使其在启动时启动:

systemctl start nginx
systemctl enable nginx

为确保Nginx在我们的服务器上运行,请使用浏览器访问服务器IP地址,或使用如下所示的curl命令获取结果:

curl 192.168.1.110

我会在这里用我的网络浏览器查看它:

第 3 步 - 安装和配置 MariaDB

MariaDB 是由 MySQL 的原始开发人员 Monty Widenius 开发的开源数据库,它从 MySQL 数据库中分叉出来,但在主要功能上与 MySQL 保持兼容。在此步骤中,我们将安装 MariaDB 并为 MariaDB 数据库配置 root 密码。然后我们将创建 WordPress 安装所需的新数据库和新用户。

安装 mariadb 和 mariadb 服务器:

yum -y install mariadb mariadb-server

启动 MariaDB 并添加要在启动时自动启动的服务:

systemctl start mariadb
systemctl enable mariadb

MariaDB已经启动,现在我们要为mariadb/mysql数据库配置root密码。输入以下命令以设置 MariaDB root 密码。

mysql_secure_installation

在请求时输入 MariaDB root 用户的新密码。

Set root password? [Y/n] Y
New password:
Re-enter new password:

Remove anonymous users? [Y/n] Y
 ... Success!
Disallow root login remotely? [Y/n] Y
 ... Success!
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y
 ... Success!

MariaDB root 密码已配置。现在登录到 MariaDB/MySQL shell 并为我们的 WordPress 安装创建一个新数据库“wordpressdb”和一个密码为“[email ”的新用户“wpuser”。为您的安装选择一个安全的密码!

登录到 MariaDB/MySQL shell:

mysql -u root -p
TYPE YOUR PASSWORD

创建新数据库和新用户:

create database wordpressdb;
create user ';
flush privileges;
\q

MariaDB 已安装,并为我们的 WordPress 安装创建了新数据库。

第 4 步 - 安装 HHVM

对于 HHVM 安装,我们需要安装许多依赖项。我们可以通过从 github 下载源代码或安装 Internet 上可用的预构建包来从源代码安装 HHVM。在本教程中,我将从预构建的包中安装 HHVM。

安装 HHVM 安装的依赖项

yum -y install cpp gcc-c++ cmake git psmisc {binutils,boost,jemalloc,numactl}-devel \
{ImageMagick,sqlite,tbb,bzip2,openldap,readline,elfutils-libelf,gmp,lz4,pcre}-devel \
lib{xslt,event,yaml,vpx,png,zip,icu,mcrypt,memcached,cap,dwarf}-devel \
{unixODBC,expat,mariadb}-devel lib{edit,curl,xml2,xslt}-devel \
glog-devel oniguruma-devel ocaml gperf enca libjpeg-turbo-devel openssl-devel \
mariadb mariadb-server libc-client make

然后使用 rpm 命令从该站点安装 HHVM 预构建包。

rpm -Uvh http://mirrors.linuxeye.com/hhvm-repo/7/x86_64/hhvm-3.15.2-1.el7.centos.x86_64.rpm
ln -s /usr/local/bin/hhvm /bin/hhvm

HHVM 已安装,使用以下命令检查:

hhvm --version

为了使用php命令,我们可以将hhvm命令设置为php。因此,当您在 shell 中键入 php 时,您将看到与 hhvm 命令相同的结果。

sudo update-alternatives --install /usr/bin/php php /usr/bin/hhvm 60
php --version

第 5 步 - 配置 HHVM

在此步骤中,我们将配置 HHVM。我们将 hhvm 作为 systemd 服务运行。我们将在更快的 unix 套接字文件上运行 hhvm,而不是在系统端口上运行它。

转到 systemd 目录并创建 hhvm.service 文件。

cd /etc/systemd/system/
vim hhvm.service

将下面的服务配置粘贴到该文件中。

[Unit]
Description=HHVM HipHop Virtual Machine (FCGI)
After=network.target nginx.service mariadb.service

[Service]
ExecStart=/usr/local/bin/hhvm --config /etc/hhvm/server.ini --user nginx --mode daemon -vServer.Type=fastcgi -vServer.FileSocket=/var/run/hhvm/hhvm.sock

[Install]
WantedBy=multi-user.target

保存文件并退出 vim。

接下来,转到 hhvm 目录并编辑 server.ini 文件。

cd /etc/hhvm/
vim server.ini

将第 7 行的 hhvm.server.port 替换为下面的 unix 套接字配置:

hhvm.server.file_socket = /var/run/hhvm/hhvm.sock

保存文件并退出编辑器。

在hhvm服务文件中,我们定义了hhvm运行在nginx用户下,所以我们必须将socket文件目录的属主更改为nginx用户。然后我们必须更改 hhvm 目录的 SELinux 上下文以允许访问套接字文件。

chown -R nginx:nginx /var/run/hhvm/
semanage fcontext -a -t httpd_var_run_t "/var/run/hhvm(/.*)?"
restorecon -Rv /var/run/hhvm

重启服务器后,hhvm 将不会运行,因为没有 socket 文件的目录,所以我们必须在启动时自动创建它。

使用 vim 编辑 rc.local 文件。

vim /etc/rc.local

将下面的配置粘贴到行尾。

mkdir -p /var/run/hhvm/
chown -R nginx:nginx /var/run/hhvm/
semanage fcontext -a -t httpd_var_run_t "/var/run/hhvm(/.*)?"
restorecon -Rv /var/run/hhvm

保存文件并退出 vim。使文件可执行。

chmod +x /etc/rc.local

重新加载 systemd 服务,启动 hhvm 并将其添加为在引导时启动。

systemctl daemon-reload
systemctl start hhvm
systemctl enable hhvm

确保没有错误。使用 netstat 命令检查 hhvm 是否在套接字文件下运行。

netstat -pl | grep hhvm

第 6 步 - 配置 HHVM 和 Nginx

在此步骤中,我们将配置 HHVM 以与 Nginx Web 服务器一起运行。我们需要在 Nginx 目录下新建一个 hhvm 配置文件。

转到 /etc/nginx 目录并创建一个 hhvm.conf 文件。

cd /etc/nginx/
vim hhvm.conf

粘贴下面的配置:

location ~ \.(hh|php)$ {
    root /usr/share/nginx/html;
    fastcgi_keep_conn on;
    fastcgi_pass unix:/var/run/hhvm/hhvm.sock;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include        fastcgi_params;
}

保存并退出。

接下来,编辑 nginx.conf 文件并添加 hhvm 配置包含行。

vim nginx.conf

将配置添加到服务器指令第 57 行。

include /etc/nginx/hhvm.conf;

保存并退出。

然后更改 hhvm 配置文件的 SELinux 上下文。

semanage fcontext -a -t httpd_config_t /etc/nginx/hhvm.conf
restorecon -v /etc/nginx/hhvm.conf

测试 Nginx 配置并重启服务。

nginx -t
systemctl restart nginx

确保没有错误。

第 7 步 - 使用 HHVM 和 Nginx 创建虚拟主机

在此步骤中,我们将使用 Nginx 和 hhvm 创建一个新的虚拟主机配置。在本示例中,我将使用域名 \natsume.co\。请使用您自己的域名,并在配置文件和 WordPress 安装中出现的任何地方替换它。

转到我们将存储虚拟主机文件的 nginx conf.d 目录:

cd /etc/nginx/conf.d/

使用 vim 创建新配置“natsume.conf”:

vim natsume.conf

粘贴下面的虚拟主机配置:

server {
    listen       80;
    server_name  natsume.co;

    # note that these lines are originally from the "location /" block
    root   /var/www/hakase;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }
    error_page 404 /404.html;
    location = /50x.html {
        root /var/www/hakase;
    }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/var/run/hhvm/hhvm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

保存并退出。

在我们的虚拟主机配置中,我们将域名的网站根目录定义为\/var/www/hakase\目录。该目录尚不存在,因此我们必须创建它并将所有权更改为 nginx 用户和组。

mkdir -p /var/www/hakase
chown -R nginx:nginx /var/www/hakase

接下来,为文件和目录配置 SELinux 上下文。

semanage fcontext -a -t httpd_config_t "/etc/nginx/conf.d(/.*)?"
restorecon -Rv /etc/nginx/conf.d

最后测试一下nginx的配置,确保没有报错,然后重启nginx:

nginx -t
systemctl restart nginx

第 8 步 - 安装 WordPress

在第 5 步中,我们为 WordPress 安装创建了虚拟主机配置。现在我们只需要下载 WordPress 并使用我们在第 3 步中创建的数据库和用户来编辑数据库配置。

进入网站根目录“/var/www/hakase”,使用 wget 命令下载 WordPress:

cd /var/www/hakase
wget wordpress.org/latest.tar.gz

提取 \latest.tar.gz\ 并将所有 WordPress 文件和目录移动到当前目录:

tar -xzvf latest.tar.gz
mv wordpress/* .

接下来,复制 \wp-config-sample.php\ 文件到 \wp-config.php\ 并用 vim 编辑它:

cp wp-config-sample.php wp-config.php
vim wp-config.php

将 DB_NAME 设置为“wordpressdb”,DB_USER 设置为“wpuser”,DB_PASSWORD 设置为“[email ”。

define('DB_NAME', 'wordpressdb');
define('DB_USER', 'wpuser');
define('DB_PASSWORD', '');
define('DB_HOST', 'localhost');

保存并退出。

更改 WordPress 目录的 SELinux 上下文。

semanage fcontext -a -t httpd_sys_content_t "/var/www/hakase(/.*)?"
restorecon -Rv /var/www/hakase

现在打开网络浏览器并在地址栏中输入您的 wordpress 域的域名,我的是 \natsume.co\。

选择英语并点击继续。

用您的信息填写站点标题和描述,然后单击“安装 WordPress”。

等到安装完成。您将看到下面的页面,单击“登录”以登录到 WordPress 管理仪表板:

输入您的管理员用户和密码,然后再次单击“登录”。

现在你在 WordPress 管理仪表板上。

WordPress 主页。

CentOS 7 上带有 Nginx 和 HHVM 的 WordPress 已成功安装。

参考

    <李>
  • https://www.nginx.com/blog/nginx-se-linux-changes-upgrading-rhel-6-6/

©2015-2025 艾丽卡 support@alaica.com