运行ProcessWire在Nginx(LEMP)在Debian Wheezy / Ubuntu 13.04

运行ProcessWire在Nginx(LEMP)在Debian Wheezy / Ubuntu 13.04

本教程将介绍如何在安装了nginx的Debian Wheezy或Ubuntu 13.04系统上安装并运行ProcessWire,而不是Apache(LEMP = L inux + nginx(发音为“ e ngine x”)+ M ySQL + P HP)。 nginx是一个HTTP服务器,比Apache使用的资源少得多,并且提供了更快的网页,特别是静态文件。

我不会保证这将为您工作!

1初步说明

我想在一个名为www.example.com / example.com的vhost中安装ProcessWire,其中包含文档根/var/www/www.example.com/web

您应该有一个工作的LEMP安装,如本教程所示:

Ubuntu用户注意事项:

因为我们必须使用root权限运行本教程的所有步骤,所以我们可以使用字符串sudo在本教程中添加所有命令,也可以通过键入来成为root

sudo su

2安装APC

APC是一个免费开放的PHP操作码cacher,用于缓存和优化PHP中间代码。 它类似于其他PHP操作码cacher,如eAccelerator和XCache。 强烈建议您安装其中一个以加快您的PHP页面。

APC可以安装如下:

apt-get install php-apc

重新载入PHP-FPM如下:

/etc/init.d/php5-fpm reload

3安装ProcessWire

我的www.example.com网站的文档根目录是/var/www/www.example.com/web - 如果不存在,创建如下:

mkdir -p /var/www/www.example.com/web

下一步从ProcessWire网站下载ProcessWire,解压缩并将其放在文档根目录中:

mkdir /tmp/processwire
cd /tmp/processwire
wget https://github.com/ryancramerdesign/ProcessWire/archive/master.zip
unzip master.zip
rm -f master.zip
cd ProcessWire-master
mv * /var/www/www.example.com/web/

建议使用作为用户www-data和组www-data运行的nginx守护进程将文档根和ProcessWire文件写入:

chown -R www-data:www-data /var/www/www.example.com/web

如果您还没有为processwire创建MySQL数据库(包括MySQL ProcessWire用户),可以按如下方式(在本示例中命名数据库pw ,用户称为pw_admin ,密码为pw_admin_password ):

mysqladmin -u root -p create pw
mysql -u root -p
GRANT ALL PRIVILEGES ON pw.* TO 'pw_admin'@'localhost' IDENTIFIED BY 'pw_admin_password';
GRANT ALL PRIVILEGES ON pw.* TO 'pw_admin'@'localhost.localdomain' IDENTIFIED BY 'pw_admin_password';
FLUSH PRIVILEGES;
quit;

接下来,我们在/ etc / nginx / sites-available /目录中为www.example.com vhost创建一个nginx vhost配置,如下所示:

vi /etc/nginx/sites-available/www.example.com.vhost
server {
       listen 80;
       server_name www.example.com example.com;
       root /var/www/www.example.com/web;

       if ($http_host != "www.example.com") {
                 rewrite ^ http://www.example.com$request_uri permanent;
       }

       index index.php index.html;

       location = /favicon.ico {
                log_not_found off;
                access_log off;
       }

       location = /robots.txt {
                allow all;
                log_not_found off;
                access_log off;
       }

       # Deny all attempts to access hidden files such as .htaccess, .htpasswd, .DS_Store (Mac).
       location ~ /\. {
                deny all;
                access_log off;
                log_not_found off;
       }

       client_max_body_size 100M;

       location ~ /(COPYRIGHT|LICENSE|README|htaccess)\.txt {
                deny  all;
       }
       location ~ ^/site(-[^/]+)?/assets/(.*\.php|backups|cache|config|install|logs|sessions) {
                deny  all;
       }
       location ~ ^/site(-[^/]+)?/install {
                deny  all;
       }
       location ~ ^/(site(-[^/]+)?|wire)/(config(-dev)?|index\.config)\.php {
                deny  all;
       }
       location ~ ^/((site(-[^/]+)?|wire)/modules|wire/core)/.*\.(inc|module|php|tpl) {
                deny  all;
       }
       location ~ ^/(site(-[^/]+)?|wire)/templates(-admin)?/.*\.(inc|html?|php|tpl) {
                deny  all;
       }

       ### GLOBAL REWRITE
       location / {
                try_files  $uri  $uri/  /index.php?it=$uri&$args;
       }

       location ~ \.php$ {
                try_files $uri =404;
                include /etc/nginx/fastcgi_params;
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                fastcgi_intercept_errors on;
       }
}

要启用vhost,我们从/ etc / nginx / sites-enabled /目录创建一个符号链接:

cd /etc/nginx/sites-enabled/
ln -s /etc/nginx/sites-available/www.example.com.vhost www.example.com.vhost

重新加载nginx以使更改生效:

/etc/init.d/nginx reload

现在我们可以通过访问http://www.example.com启动基于Web的ProcessWire安装程序 - 点击入门

安装程序将检查是否满足所有先决条件。 当您向下滚动...

...您将看到有关Apache mod_rewrite的警告。 由于我们不使用Apache,您可以忽略此警告,然后单击继续下一步

在下一步,填写MySQL数据库的详细信息,...

...然后向下滚动并单击继续 (默认目录和文件权限都可以):

在下一页,填写ProcessWire管理员的用户名,密码和电子邮件地址。 默认的管理员登录URL应该可以。 点击后创建帐户

安装成功后,您应该看到以下屏幕:

现在写保护配置文件并删除安装程序:

cd /var/www/www.example.com/web
chmod 444 site/config.php
rm -f install.php
rm -fr site/install/

您现在可以访问http://www.example.com浏览ProcessWire示例网站:

可以在http://www.example.com/processwire下访问后端(除非您在安装期间指定了其他管理员登录URL):

这是后端的外观:

4链接

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

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

支付宝扫一扫打赏

微信扫一扫打赏