如何在OpenSUSE Leap 42.1上安装使用HHVM和Nginx的WordPress

HHVM(HipHop Virtual Machine)是由Facebook开发的一款开源虚拟机,它是一个JIT(即时)编译器,用于执行以PHP 5编写的程序(以及PHP 7的一些功能)和Hack语言。 如果要在服务器上运行HHVM,可以在Nginx或apache Web服务器之上使用基于FastCGI的Web服务器,也可以使用名为“Proxygen”的内置Web服务器。

在本教程中,我将向您展示如何使用HHVM和Nginx作为Web服务器安装WordPress(基于PHP的众所周知的CMS)。 我将使用OpenSUSE Leap 42.1作为操作系统,因此需要OpenSUSE的基本知识。

前提条件

  • OpenSUSE Leap 42.1 - 64bit。
  • 根权限
  • 基本的OpenSUSE知识,如Zypper,SuSE防火墙。

第1步 - 安装Nginx

Nginx或engine-x是具有高性能和低内存消耗的轻量级Web服务器。 在我们的OpenSUSE服务器上,我们可以使用zypper命令安装软件包。

使用“sudo su”成为root用户,并在openSUSE Leap 42.1上使用zypper命令安装Nginx:

sudo su
zypper in nginx

然后转到web目录“/ srv / www / htdocs”并创建一个新的index.html文件。

cd /srv/www/htdocs/
echo "<h1>Nginx OpenSUSE Leap 42.1</h1>" > index.html

添加Nginx启动时启动Nginx与systemctl命令:

systemctl enable nginx
systemctl start nginx

为确保Nginx在我们的服务器上运行,我们可以使用浏览器访问服务器IP地址,或者使用下面的curl命令查看结果:

curl 192.168.43.29

第2步 - 安装和配置MariaDB

MariaDB是由原始MySQL开发人员Monty Widenius开发的开源数据库,MariaDB与MySQL兼容。 在此步骤中,我们将安装MariaDB并配置MariaDB数据库的根密码。 然后我们将创建一个我们需要的WordPress安装的新数据库和用户。

使用zypper安装MariaDB:

zypper in mariadb mariadb-client

将MariaDB添加到引导序列,然后启动它:

systemctl enable mysql
systemctl start mysql

MariaDB已经启动,现在我们必须为MariaDB / mysql数据库配置root密码。 运行以下命令设置MariaDB root密码。

/usr/bin/mysqladmin -u root password 'toor123'

注意:

MariaDB密码为“toor123” ,请在您的服务器上使用不同的密码。

已配置MariaDB根密码。 现在登录到MariaDB / MySQL shell并为我们的WordPress安装创建一个新的数据库“wpdb”和新用户“wpuser” ,密码为“wpuser @” 。 在您的系统上也可以选择一个安全的密码。

登录到MariaDB / MySQL shell:

mysql -u root -p
TYPE PASSWORD toor123

创建一个新的数据库和新用户:

create database wpdb;
create user wpuser@localhost identified by 'wpuser@';
grant all privileges on wpdb.* to wpuser@localhost identified by 'wpuser@';
flush privileges;

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

第3步 - 安装HHVM

对于HHVM安装,我们需要添加一个新的hhvm存储库。 我们可以使用zypper命令将新的hhvm存储库添加到服务器。 那么我们必须刷新openSUSE存储库:

zypper addrepo http://download.opensuse.org/repositories/home:munix9/openSUSE_Leap_42.1/home:munix9.repo
zypper refresh

键入'a'以始终相信密钥。

现在安装hhvm包:

zypper in hhvm hhvm-nginx hhvm-fastcgi

hhvm-nginx提供了一个Nginx配置的示例。

hhvm-fastcgi提供FastCGI元文件。

第4步 - 配置HHVM和Nginx

在此步骤中,我们将使用Nginx Web服务器配置HHVM。 我们将配置HHVM使用Unix-socket并将HHVM作为Nginx用户运行。 转到HHVM配置目录并使用vim编辑器编辑配置文件“server.ini”

cd /etc/hhvm/
vim server.ini

取消注释第3行为HHVM启用Unix-Sockets。

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

保存并退出。

接下来,我们必须编辑HHVM服务脚本,以便HHVM可以运行Nginxginx用户。 将HHVM配置为与Web服务器相同的用户运行非常重要。 转到systemd目录并使用vim编辑'hhvm.service'文件:

cd /usr/lib/systemd/system
vim hhvm.service

将第11行的--user hhvm选项更改为nginx用户。

ExecStart=/usr/bin/hhvm --config /etc/hhvm/php.ini --config /etc/hhvm/server.ini --user nginx --mode daemon -vServer.Type=fastcgi -vServer.FileSocket=/var/run/hhvm/server.sock -    vPidFile=/var/run/hhvm/server.pid

保存并退出。

现在将“/ var / run / hhvm”目录的所有者更改为nginx用户。

chown -R nginx:nginx /var/run/hhvm/

注意:

服务器重新启动后,有时该目录的默认所有者将返回到默认用户。 为了解决这个问题,我们可以定义在执行当前运行级别的所有脚本后执行的linux命令。

“/etc/rc.d/”目录中编辑after.local文件,并在文件末尾添加一个新的linux命令:

vim /etc/rc.d/after.local

粘贴以下命令:

chown -R nginx:nginx /var/run/hhvm/

保存并退出。

接下来,我们必须将HHVM配置为使用Nginx。 我们已经安装了新的软件包“hhvm-nginx” ,它包含了Nginx Web服务器的HHVM配置示例。

转到Nginx配置目录并复制HHVM配置:

cd /etc/nginx/
cp hhvm.conf.example hhvm.conf

用vim编辑hhvm.conf:

vim hhvm.conf

在第二行,添加一个新配置来定义Web根目录:

root   /srv/www/htdocs;

保存并退出。

那么我们必须编辑Nginx配置以包括HHVM配置。

vim nginx.conf

在第59行 - 添加新的配置行如下:

include /etc/nginx/hhvm.conf;

保存并退出。

使用以下systemctl命令启用和启动HHVM:

systemctl enable hhvm
systemctl start hhvm

然后重启Nginx:

systemctl restart nginx

已经安装并配置了Nginx和HHVM。 要测试配置是否正常工作,我们将创建一个包含phpinfo代码的新php文件,并将其保存到Web根目录“/ srv / www / htdocs” ,然后我们通过Web浏览器进行访问。

cd /srv/www/htdocs/
echo "<?php phpinfo(); ?>" > info.php

打开浏览器并键入服务器IP地址:

192.168.43.29/info.php

Nginx和HHVM正在工作没有错误。

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

在这一步中,我们将使用Nginx和HHVM创建一个新的虚拟主机配置。 我将使用域名“hakasenano.co”为此示例,并将其用作我们的WordPress安装的域。 请在所有配置文件和命令中用您自己的域名替换域名。

转到Nginx目录并创建新的目录来存储虚拟主机文件:

cd /etc/nginx/
mkdir vhosts.d/
cd vhosts.d/

用vim创建一个新的配置文件“nano.conf”

vim nano.conf

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

server {
# This line for redirect non-www to www
server_name hakasenano.co; rewrite ^(.*) http://www.hakasenano.co$1 permanent; } server { listen 80; server_name www.hakasenano.co; root /srv/www/nano; index index.php index.html index.htm; location / { try_files $uri $uri/ =404; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /srv/www/htdocs; } # HHVM running throught Unix-Socket location ~ \.(hh|php)$ { root /srv/www/nano; fastcgi_keep_conn on; #fastcgi_pass 127.0.0.1:9000; fastcgi_pass unix:/var/run/hhvm/server.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }

保存并退出。

在我们的虚拟主机配置中,我们将域名的web根目录定义为“/ srv / www / nano”目录。 现在这个目录不存在,所以我们现在必须创建该目录。

mkdir -p /srv/www/nano/

最后,测试Nginx配置并重新启动它:

nginx -t
systemctl restart nginx

确保nginx -t命令不显示错误消息。

第6步 - 安装WordPress

在第5步,我们为WordPress安装创建了虚拟主机配置。 所以我们只需要现在下载WordPress,然后编辑我们在第2步中创建的数据库配置。

转到Web根目录“/ srv / www / nano” ,并使用wget命令下载WordPress zip存档:

cd /srv/www/nano
wget wordpress.org/latest.zip

提取“latest.zip”并将所有WordPress文件和目录移动到nano目录:

unzip latest.zip
mv wordpress/* .

接下来,将“wp-config-sample.php”文件复制到“wp-config.php”并使用vim进行编辑:

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

将DB_NAME更改为数据库“wpdb” ,将DB_USER更改为“wpuser” ,将DB_PASSWORD更改为“wpuser @”

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

保存并退出。

现在打开Web浏览器并在地址栏中输入域名。

您将被重定向到www.hakasenano.co ,您将看到安装的页面。

您可以使用您的信息填写网站标题和说明,然后单击“安装Wordpress”

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

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

现在您正在WordPress管理员信息中心。

WordPress与Nginx和HHVM在OpenSUSE Leap 42.1现在安装。

参考

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏