HHvm Apache 2.4 Nginx建站环境搭建方法安装运行WordPress博客


HHvm Apache 2.4 Nginx建站环境搭建方法安装运行WordPress博客_nginx

HHVM是一个强大的可以用于替代PHP的建站环境,出自Facebook团队,它是一个PHP的JIT(Just-In- Time)编译器,同时具有产生快速代码和即时编译的优点。实践证明HHVM可以明显地提升PHP执行速度,节省大量的服务器资源。

HHVM​单独安装的话比较简单,官方也针对各种个操作系统推出了详细的说明文档,一般按照文档的说明就可以安装成功,HHVM主要是用于替换PHP,平常的LNMP即Linux、Nginx、MysqL、PHP架构被替换为LNMH(H即为HHVM)。

本篇文章就来分享一下Debian7 x64、CentOS 6.5 (64-bit)、 Ubuntu 12.04 上搭建HHvmApache 2.4 Nginx建站环境,同时安装和运行Wordpress博客程序,HHvm强大的性能提升能力可以最大限度地提升Wordpress运行效率,节省服务器费用。

对服务器优化提速和网站集群有兴趣的朋友,可以来看看:

HHvm Apache 2.4 Nginx建站环境搭建方法安装运行Wordpress博客

一、Debian安装HHvm、Nginx搭建LNMH环境

1、 在 Debian 7 64位的Linux上安装HHvm、Nginx、MysqL,并搭建LHMH建站环境,可以参考这篇文章:​HHVM安装使用教程-高效的PHP运行环境提升PHP性能9倍以上​​。

二、在CentOS上安装HHvm、Apache 2.4

1、实际上Apache 2.2也可以与HHvm搭配使用,但是Apache 2.2因为没有mod_proxy_fcgi 还需要安装libapache2-mod-fastcgi,配置起来比较麻烦。安装Apache 2.4可以直接和HHvm整合使用。况且Apache 2.4在性能有很大提升,支持更大流量、更好地支持云计、利用更少的内存处理更多的并发等。

2、CentOS上安装HHvm、Apache 2.4 ,执行以下命令:

 cd /etc/yum.repos.d sudo wget http://repos.fedorapeople.org/repos/jkaluza/httpd24/epel-httpd24.repo sudo wget http://www.hop5.in/yum/el6/hop5.repo sudo yum install httpd24-httpd httpd24-httpd-devel httpd24-mod_ssl sudo yum install hhvm 


HHvm Apache 2.4 Nginx建站环境搭建方法安装运行WordPress博客_php_02

3、 配置Apache 2.4,启用HHvm。进入配置目录:cd /opt/rh/httpd24/root/etc/httpd/conf,编辑:vim httpd.conf,在最后查看这句不要被注释了:IncludeOptional conf.d/*.conf

HHvm Apache 2.4 Nginx建站环境搭建方法安装运行WordPress博客_mysql_03

4、接着进入配置目录:cd /opt/rh/httpd24/root/etc/httpd/conf.d,编辑配置文件:vim httpd24-vhosts.conf(没有的话直接新建一个),加入以下代码,保存。

 <virtualhost   *:80>   ServerName hhvmtest.dev   DocumentRoot /var/www/html/hhvmtest   ErrorLog logs/hhvmtest.dev-error_log   CustomLog logs/hhvmtest.dev-access_log common    # where HHVM is running   # use either Proxy Pass or ProxyPassMatch   # ProxyPass routes all traffic to FastCGI   ProxyPass / fcgi://127.0.0.1:9000/var/www/html/hhvmtest   # ProxyPassMatch regular expression routes only PHP files   ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/var/www/html/hhvmtest/$1    <directory hhvmtest html www var> # relaxed permissions for testing     AllowOverride all     Options -MultiViews     Require all granted   </directory> </virtualhost> 


HHvm Apache 2.4 Nginx建站环境搭建方法安装运行WordPress博客_mysql_04

5、 执行命令开启HHvm:/usr/bin/hhvm --mode server -vServer.Port=9000 -vServer.Type=fastcgi &

HHvm Apache 2.4 Nginx建站环境搭建方法安装运行WordPress博客_php_05

6、执行命令:ps aux | grep hhvm,可以看到HHvm已经运行。 (点击放大)

HHvm Apache 2.4 Nginx建站环境搭建方法安装运行WordPress博客_nginx_06

7、启动Apache命令:sudo service httpd24-httpd start

8、在网站根目录:cd /opt/rh/httpd24/root/var/www/html,新建一个文件目录:mkdir hhvmtest。这个hhvmtest就是网站的根目录。至此CentOS上安装HHvm、Apache 2.4 完成,

三、Ubuntu 上安装HHvm、Nginx、MysqL

1、Ubuntu 上安装HHvm、Nginx、Laravel过程也比较简单,首先是安装Nginx,执行:

 sudo apt-get update sudo apt-get install -y unzip vim git-core curl wget build-essential python-software-properties  sudo add-apt-repository -y ppa:nginx/stable sudo apt-get update sudo apt-get install -y nginx 


2、 接着是安装HHvm了。

 #Ubuntu 12.04: sudo add-apt-repository -y ppa:mapnik/boost wget -O - http://dl.hhvm.com/conf/hhvm.gpg.key | sudo apt-key add - echo deb http://dl.hhvm.com/ubuntu precise main | sudo tee /etc/apt/sources.list.d/hhvm.list sudo apt-get update sudo apt-get install -y hhvm  #Ubuntu 14.04: wget -O - http://dl.hhvm.com/conf/hhvm.gpg.key | sudo apt-key add - echo deb http://dl.hhvm.com/ubuntu trusty main | sudo tee /etc/apt/sources.list.d/hhvm.list sudo apt-get update sudo apt-get install -y hhvm 


HHvm Apache 2.4 Nginx建站环境搭建方法安装运行WordPress博客_apache_07

3、 安装完了HHvm会提示如下:(点击放大)

HHvm Apache 2.4 Nginx建站环境搭建方法安装运行WordPress博客_nginx_08

4、这里给出了FastCGI配置的脚本,执行以下命令:

 sudo /usr/share/hhvm/install_fastcgi.sh  sudo /etc/init.d/nginx restart #重启Nginx sudo update-rc.d hhvm defaults #开机启动 sudo service hhvm restart #重启hhvm 


HHvm Apache 2.4 Nginx建站环境搭建方法安装运行WordPress博客_php_09

5、 如果你想像执行PHP命令那样使用HHvm,可以执行:sudo /usr/bin/update-alternatives --install /usr/bin/php php /usr/bin/hhvm 60,这样就可以使用:php -v这样的命令了。

HHvm Apache 2.4 Nginx建站环境搭建方法安装运行WordPress博客_ubuntu_10

6、hhvm的配置文件是放在/etc/nginx/hhvm.conf,打开配置文件,可以看到Nginx已经配置完成。

HHvm Apache 2.4 Nginx建站环境搭建方法安装运行WordPress博客_php_11

7、而在/etc/nginx/sites-available/default中也可以看到Nginx包含了hhvm.conf配置文件。

HHvm Apache 2.4 Nginx建站环境搭建方法安装运行WordPress博客_mysql_12

8、网站的根目录是在/usr/share/nginx/html,你可以上传PHP文件到这个目录,查看phpinfo()可以看到是HipHop。

HHvm Apache 2.4 Nginx建站环境搭建方法安装运行WordPress博客_apache_13

9、安装MysqL数据库。执行一句命令:apt-get install mysql-server,安装过程中会要求你设置好MysqL数据库密码

HHvm Apache 2.4 Nginx建站环境搭建方法安装运行WordPress博客_nginx_14

10、然后将MysqL添加到开机启动,命令:chkconfig add mysqld 和 chkconfig mysql on

HHvm Apache 2.4 Nginx建站环境搭建方法安装运行WordPress博客_apache_15

11、如果有提示说:/sbin/insserv: No such file or directory,执行:ln -s /usr/lib/insserv/insserv /sbin/insserv,再执行:chkconfig --levels 235 mysql on

12、执行:chkconfig --list,可以看到所有开机启动项,有三个on以上的就是开机启动项目。重启MysqL:service mysqld start(点击放大)

HHvm Apache 2.4 Nginx建站环境搭建方法安装运行WordPress博客_php_16

13、在S-S-H中登录MysqL用命令:mysql -u root -p,然后输入密码。新建freehao123wp数据库:create database freehao123wp; ,创建用户名和密码:create user freehao123user@'localhost' identified by '123456789'; 。

HHvm Apache 2.4 Nginx建站环境搭建方法安装运行WordPress博客_nginx_17

14、授于部分读写权限:grant select on freehao123wp.* to freehao123user@'localhost'; ,授于全部权限给用户:grant select on freehao123wp.* to freehao123user@'localhost'; 。show databases; 是查看数据库(注意:每条命令后面都是以“;”结束) 。

HHvm Apache 2.4 Nginx建站环境搭建方法安装运行WordPress博客_mysql_18

15、如果是修改MysqL用户名和密码,则执行以下命令:

 use mysql; update user set password=PASSWORD('新密码') where user='用户名'; flush privileges; 


四、 Ubuntu 上安装HHvm、Nginx、MariaDB、Wordpress 、PhpMyAdmin

1、Ubuntu 用的是Ubuntu 12.04,先来安装MariaDB。参考:​​rosehosting​​。(注:MariaDB是MysqL一个分支,完全兼容MysqL,但有多项改进,性能提升,新版的LNMP也增加了MariaDB)

 apt-get update && apt-get upgrade apt-get install python-software-properties curl  apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db add-apt-repository 'deb http://ftp.osuosl.org/pub/mariadb/repo/5.5/ubuntu precise main' apt-get update echo -e "Package: *\nPin: origin ftp.osuosl.org\nPin-Priority: 1000" | tee /etc/apt/preferences.d/mariadb apt-get install mariadb-server 


2、 执行以下命令创建数据库、数据库用户名,方法同上。

 mysql -uroot -p CREATE DATABASE wpdb; GRANT ALL PRIVILEGES ON wpdb.* TO 'freehao123'@'localhost' IDENTIFIED BY '123456789'; FLUSH PRIVILEGES; \q 


HHvm Apache 2.4 Nginx建站环境搭建方法安装运行WordPress博客_php_19

3、 安装Nginx 1.4.x。

 add-apt-repository ppa:nginx/stable apt-get install nginx 


4、 如果VPS有多核CPU的话,可以在nginx.conf中配置以最大限度地利用好多线程,提升性能。执行以下命令:

 sed -i "0,/^worker_processes/ s/^worker_processes .*$/worker_processes `grep -c processor /proc/cpuinfo`;/"  /etc/nginx/nginx.conf 


5、安装hhvm and hhvm-fastcgi。执行以下命令:

 apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 5A16E7281BE7A449 echo deb http://dl.hhvm.com/ubuntu precise main | tee /etc/apt/sources.list.d/hhvm.list apt-get update apt-get install hhvm-fastcgi 


6、 安装完成后,会提示如下:

 ******************************************************************** * HHVM is installed. Here are some more things you might want to do: *  * Configure your webserver to use HHVM: * $ sudo /usr/share/hhvm/install_fastcgi.sh * $ sudo /etc/init.d/nginx restart * $ sudo /etc/init.d/apache restart * $ sudo /etc/init.d/hhvm restart *  * Start HHVM at boot: * $ sudo update-rc.d hhvm defaults *  * Run command line scripts with HHVM: * $ hhvm whatever.php *  * Use HHVM for /usr/bin/php even if you have php-cli installed: * $ sudo /usr/bin/update-alternatives --install /usr/bin/php php /usr/bin/hhvm 60 ******************************************************************** 


7、如果你想像使用PHP那样使用HHvm,执行:ln -s $(which hhvm) /usr/local/bin/php

8、为域名freehao123.info在www根目录下创建一个网站根目录和日志存放目录。同时下载Wordpress放在该目录。

 mkdir -p /var/www/freehao123.info/{public_html,logs} wget -q -O - http://wordpress.org/latest.tar.gz | tar -xzf - --strip 1 -C /var/www/freehao123.info/public_html chown www-data: -R /var/www/freehao123.info/public_html 


HHvm Apache 2.4 Nginx建站环境搭建方法安装运行WordPress博客_mysql_20

9、 上面下载的是最新版本的Wordpress,英文(不用担心,安装好了Wordpress可以直接到后台设置为中文),大家也可以到Wordpress中文网站上下载有中文包的Wordpress。

10、在Nginx中添加虚拟主机。执行:cat <<'EOF' > /etc/nginx/sites-available/freehao123.info,将以下命令放在里面(注意:替换为自己的域名和路径):

 server {   server_name hhvm.freehao123.info;   listen 80;   root /var/www/freehao123.info/public_html;   access_log /var/www/freehao123.info/logs/access.log;   error_log /var/www/freehao123.info/logs/error.log;   index index.php;    location / {     try_files $uri $uri/ /index.php?q=$uri&$args;   }    location ~* \.(jpg|jpeg|gif|css|png|js|ico|html)$ {     access_log off;     expires max;   }    location ~ /\.ht {     deny  all;   }    location ~ \.php$ {     fastcgi_index index.php;     fastcgi_keep_conn on;     include /etc/nginx/fastcgi_params;     fastcgi_pass 127.0.0.1:9000;     fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;   } } 


11、 最后输入:EOF 保存退出。再执行以下命令:

 ln -s /etc/nginx/sites-available/freehao123.info /etc/nginx/sites-enabled/freehao123.info /etc/init.d/nginx restart 


12、 将Nginx、hhvm、mysql设置为开机启动,执行命令:

 update-rc.d nginx defaults update-rc.d hhvm defaults update-rc.d mysql defaults 


HHvm Apache 2.4 Nginx建站环境搭建方法安装运行WordPress博客_mysql_21

13、 HHvm安装运行Wordpress。将你的域名DNS解析到HHvm这个服务器上(刚刚在添加Nginx配置时加入的域名),打开域名就会进入到Wordpress安装页面,没有跳到Wordpress安装页面的前检查一下你的Wordpress有没有放在该域名的根目录中。

HHvm Apache 2.4 Nginx建站环境搭建方法安装运行WordPress博客_ubuntu_22

14、HHvm运行Wordpress没有任何问题,插件安装、主题升级、权限、固定链接等都OK。

15、安装PhpMyAdmin来管理MysqL。追求极简的朋友或者喜欢在S-S-H中管理MysqL数据库,但是不少人还是喜欢用PhpMyAdmin来管理MysqL。

16、进入你的Web可访问的目录,新建目录用来存放PhpMyAdmin,然后直接下载和解压

 wget http://jaist.dl.sourceforge.net/project/phpmyadmin/phpMyAdmin/4.2.2/phpMyAdmin-4.2.2-all-languages.zip unzip phpMyAdmin-4.2.2-all-languages.zip 


17、 解压后的PhpMyAdmin建立将目录重命名,以方便访问。用命令新建一个文件夹:mkdir config ,设置可写:chmod o+rw config

18、然后打开安装页面,类似于:http://hhvm.freehao123.info/db/phpmyadmin/setup/,新建一个服务器。

HHvm Apache 2.4 Nginx建站环境搭建方法安装运行WordPress博客_php_23

19、这里可以服务器的端口、名称、SSL、连接方式等进行设置。(点击放大)

HHvm Apache 2.4 Nginx建站环境搭建方法安装运行WordPress博客_ubuntu_24

20、认证方式一般选择Cookie。

HHvm Apache 2.4 Nginx建站环境搭建方法安装运行WordPress博客_mysql_25

21、PhpMyAdmin安装还提供了高级功能,有需要调整MysqL的朋友可以直接在这里设置。(点击放大)

HHvm Apache 2.4 Nginx建站环境搭建方法安装运行WordPress博客_mysql_26

22、所以的设置好后点击应用。然后返回到PhpMyAdmin安装页面,在“配置文件”中选择刚刚创建好的配置文件,点击保存,至此MysqL服务器配置完成。

23、接着将config文件夹生成的config.inc.php移动到PhpMyAdmin根目录当中,同时删除整个config文件夹,将config.inc.php设置为全部不可写:chmod o-rw config.inc.php

24、现在打开PhpMyAdmin访问页面,就会看到登录页面了。输入你的Root账号和密码

HHvm Apache 2.4 Nginx建站环境搭建方法安装运行WordPress博客_php_27

25、登录完成后,就可以开始在线管理SQL了。

HHvm Apache 2.4 Nginx建站环境搭建方法安装运行WordPress博客_apache_28

五、 HHvm Apache 2.4 Nginx运行Wordpress博客小结

1、HHvm完全可以替换PHP来跑Wordpress,鉴于Wordpress在处理大数据库和大流量压力时表现不如人意,使用HHvm 来跑Wordpress实在是一个不错的选择。

2、HHvm与Nginx是最佳搭档,Nginx与Apache在很多方面还需要完善,安装了MysqL数据库后可以直接使用命令来管理,当然Wordpress自带的数据库管理插件足够了。