Skip to content →

AMH面板部署记录

CakePHP在AMH下的部署

CakePHP是一个基于PHP,免费且开源的迅速发展的框架。

  1. 在浏览器中输入Ip:8888登录面板
  2. 进入模块管理-AMRewrite模块管理界面
  3. 新建一个名为Cakephp.conf的伪静态文件,填入以下内容,保存,新建主机时调用即可
 location / {
        try_files $uri $uri/ /index.php?$uri&$args;
    }

Drupal在AMH下的部署

Drupal是使用PHP语言编写的开源内容管理框架(CMF),它由内容管理系统(CMS)和PHP开发框架(Framework)共同构成。连续多年荣获全球最佳CMS大奖,是基于PHP语言最著名的WEB应用程序。

  1. 在浏览器中输入Ip:8888登录面板
  2. 进入模块管理-AMRewrite模块管理界面
  3. 新建一个名为Drupal.conf的伪静态文件,填入以下内容,保存
location / {
                # This is cool because no php is touched for static content
                try_files $uri @rewrite;
        }

        location @rewrite {
                # Some modules enforce no slash (/) at the end of the URL
                # Else this rewrite block wouldn't be needed (GlobalRedirect)
                rewrite ^/(.*)$ /index.php?q=$1;
        }

XenForo在AMH上的部署

XenForo论坛是一款基于Zend Framework开发的商业论坛程序

  1. 在浏览器中输入Ip:8888登录面板
  2. 进入模块管理-AMRewrite模块管理界面
  3. 新建一个名为xenforo.conf的伪静态文件,填入以下内容,保存,新建主机时调用即可
location / {
        try_files $uri $uri/ /index.php?$uri&$args;
    }

如果是子目录,使用如下代码(xenforo为子目录名)

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

WHMCS在AMH下的部署

  1. 在浏览器中输入Ip:8888登录面板
  2. 进入模块管理-AMRewrite模块管理界面
  3. 新建一个名为whmcs.conf的伪静态文件,填入以下内容,保存,新建主机时调用即可
# Announcements
rewrite ^/announcements/([0-9]+)/[a-zA-Z0-9-]+.html$ /./announcements.php?id=$1 last;
rewrite ^/announcements$ /./announcements.php last;

# Downloads
rewrite ^/downloads/([0-9]+)/([^/]*)$ /./downloads.php?action=displaycat&catid=$1 last;
rewrite ^/downloads$ /./downloads.php last;

# Knowledgebase
rewrite ^/knowledgebase/([0-9]+)/[a-zA-Z0-9-]+.html$ /./knowledgebase.php?action=displayarticle&id=$1 last;
rewrite ^/knowledgebase/([0-9]+)/([^/]*)$ /./knowledgebase.php?action=displaycat&catid=$1 last;
rewrite ^/knowledgebase$ /./knowledgebase.php last;

Invision Power Board在AMH上的部署

Invision Power Board 是世界上最著名的论坛程序之一,由PHP+MySQL架构。IPB 1.X版本是免费的,但2.X版本起开始收费,在新版本的IPB中用了不少AJAX技术。现在有不少的国际知名公司和机构如美国国家航空航天局、和AMD等都是IPB的顾客,而在华人社区中也有很多论坛采用IPB作为论坛程序,例如IPB China,Smart IPB和Macauplus等。

  1. 在浏览器中输入Ip:8888登录面板
  2. 进入模块管理-AMRewrite模块管理界面
  3. 新建一个名为ipb.conf的伪静态文件,填入以下内容,保存,新建主机时调用即可
location /{
            # IPB configuration
        try_files $uri $uri/ /index.php?q=$uri&$args;
    }

Prestashop在AMH上的部署

PrestaShop是一款免费+开源、最新创作并流行于全世界的网络商店系统,全球已有数以万计的客户使用该系统经营他们的网络商店。由专业的开发团队升级维护,为您提供及时高效的技术支持,您还可以根据自己的商务特征审美观点对 PrestaShop进行量身定制,增加自己商城的特色功能。PrestaShop不仅功能强大、性能稳定、代码冗余少、运行效率高、负载能力强、安全等级高、功能可操控性强和权限严密好,而且具有操作方便、快捷的管理功能 。

  1. 在浏览器中输入Ip:8888登录面板
  2. 进入模块管理-AMRewrite模块管理界面
  3. 新建一个名为Prestashop.conf的伪静态文件,填入以下内容,保存,新建主机时调用即可
       # PrestaShop rewrite rules
    rewrite ^/([a-z0-9]+)-([a-z0-9]+)(-[_a-zA-Z0-9-]*)/([_a-zA-Z0-9-]*).jpg$ /img/p/$1-$2$3.jpg last;
    rewrite ^/([0-9]+)-([0-9]+)/([_a-zA-Z0-9-]*).jpg$ /img/p/$1-$2.jpg last;
    rewrite ^/([0-9]+)(-[_a-zA-Z0-9-]*)/([_a-zA-Z0-9-]*).jpg$ /img/c/$1$2.jpg last;
    rewrite "^/lang-([a-z]{2})/([a-zA-Z0-9-]*)/([0-9]+)-([a-zA-Z0-9-]*).html(.*)$" /product.php?id_product=$3&isolang=$1$5 last;
    rewrite "^/lang-([a-z]{2})/([0-9]+)-([a-zA-Z0-9-]*).html(.*)$" /product.php?id_product=$2&isolang=$1$4 last;
    rewrite "^/lang-([a-z]{2})/([0-9]+)-([a-zA-Z0-9-]*)(.*)$" /category.php?id_category=$2&isolang=$1 last;
    rewrite ^/([a-zA-Z0-9-]*)/([0-9]+)-([a-zA-Z0-9-]*).html(.*)$ /product.php?id_product=$2$4 last;
    rewrite ^/([0-9]+)-([a-zA-Z0-9-]*).html(.*)$ /product.php?id_product=$1$3 last;
    rewrite ^/([0-9]+)-([a-zA-Z0-9-]*)(.*)$ /category.php?id_category=$1 last;
    rewrite ^/content/([0-9]+)-([a-zA-Z0-9-]*)(.*)$ /cms.php?id_cms=$1 last;
    rewrite ^/([0-9]+)__([a-zA-Z0-9-]*)(.*)$ /supplier.php?id_supplier=$1$3 last;
    rewrite ^/([0-9]+)_([a-zA-Z0-9-]*)(.*)$ /manufacturer.php?id_manufacturer=$1$3 last;
    rewrite "^/lang-([a-z]{2})/(.*)$" /$2?isolang=$1 last;

Moodle在AMH上的部署

Moodle是一个开源课程管理系统(CMS),也被称为学习管理系统(LMS)或虚拟学习环境(VLE)。

  1. 在浏览器中输入Ip:8888登录面板
  2. 进入模块管理-AMRewrite模块管理界面
  3. 新建一个名为Moodle.conf的伪静态文件,填入以下内容,保存,新建主机时调用即可
location /{
rewrite ^/(.*.php)(/)(.*)$ /$1?file=/$3 last;
}

W3 Total Cache在AMH下的规则

代码均取自WordPress官网

#W3 TOTAL CACHE CHECK 
set $cache_uri $request_uri;

# POST requests and urls with a query string should always go to PHP
if ($request_method = POST) {
        set $cache_uri 'null cache';
}   
if ($query_string != "") {
        set $cache_uri 'null cache';
}   

# Don't cache uris containing the following segments
if ($request_uri ~* "(/wp-admin/|/xmlrpc.php|/wp-(app|cron|login|register|mail).php|wp-.*.php|/feed/|index.php|wp-comments-popup.php|wp-links-opml.php|wp-locations.php|sitemap(_index)?.xml|[a-z0-9_-]+-sitemap([0-9]+)?.xml)") {
        set $cache_uri 'null cache';
}   

# Don't use the cache for logged in users or recent commenters
if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_logged_in") {
        set $cache_uri 'null cache';
}
# Use cached or actual file if they exists, otherwise pass request to WordPress
location / {
        try_files /wp-content/w3tc/pgcache/$cache_uri/_index.html $uri $uri/ /index.php?$args ;
}    

标准站点,使用

# Use cached or actual file if they exists, otherwise pass request to WordPress
location / {
        try_files /wp-content/w3tc/pgcache/$cache_uri/_index.html $uri $uri/ /index.php?$args ;
}    

WordPress Super Cache插件在AMH下的伪静态规则

# WP Super Cache rules.
# Designed to be included from a 'wordpress-ms-...' configuration file.

set $cache_uri $request_uri;

# POST requests and urls with a query string should always go to PHP
if ($request_method = POST) {
        set $cache_uri 'null cache';
}

if ($query_string != "") {
        set $cache_uri 'null cache';
}   

# Don't cache uris containing the following segments
if ($request_uri ~* "(/wp-admin/|/xmlrpc.php|/wp-(app|cron|login|register|mail).php|wp-.*.php|/feed/|index.php|wp-comments-popup.php|wp-links-opml.php|wp-locations.php|sitemap(_index)?.xml|[a-z0-9_-]+-sitemap([0-9]+)?.xml)") {
        set $cache_uri 'null cache';
}   

# Don't use the cache for logged in users or recent commenters
if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_logged_in") {
        set $cache_uri 'null cache';
}

# START MOBILE
# Mobile browsers section to server them non-cached version. COMMENTED by default as most modern wordpress themes including twenty-eleven are responsive. Uncomment config lines in this section if you want to use a plugin like WP-Touch
# if ($http_x_wap_profile) {
#        set $cache_uri 'null cache';
#}

#if ($http_profile) {
#        set $cache_uri 'null cache';
#}

#if ($http_user_agent ~* (2.0\ MMP|240x320|400X240|AvantGo|BlackBerry|Blazer|Cellphone|Danger|DoCoMo|Elaine/3.0|EudoraWeb|Googlebot-Mobile|hiptop|IEMobile|KYOCERA/WX310K|LG/U990|MIDP-2.|MMEF20|MOT-V|NetFront|Newt|Nintendo\ Wii|Nitro|Nokia|Opera\ Mini|Palm|PlayStation\ Portable|portalmmm|Proxinet|ProxiNet|SHARP-TQ-GX10|SHG-i900|Small|SonyEricsson|Symbian\ OS|SymbianOS|TS21i-10|UP.Browser|UP.Link|webOS|Windows\ CE|WinWAP|YahooSeeker/M1A1-R2D2|iPhone|iPod|Android|BlackBerry9530|LG-TU915\ Obigo|LGE\ VX|webOS|Nokia5800)) {
 #       set $cache_uri 'null cache';
#}

#if ($http_user_agent ~* (w3c\ |w3c-|acs-|alav|alca|amoi|audi|avan|benq|bird|blac|blaz|brew|cell|cldc|cmd-|dang|doco|eric|hipt|htc_|inno|ipaq|ipod|jigs|kddi|keji|leno|lg-c|lg-d|lg-g|lge-|lg/u|maui|maxo|midp|mits|mmef|mobi|mot-|moto|mwbp|nec-|newt|noki|palm|pana|pant|phil|play|port|prox|qwap|sage|sams|sany|sch-|sec-|send|seri|sgh-|shar|sie-|siem|smal|smar|sony|sph-|symb|t-mo|teli|tim-|tosh|tsm-|upg1|upsi|vk-v|voda|wap-|wapa|wapi|wapp|wapr|webc|winw|winw|xda\ |xda-)) {
  #      set $cache_uri 'null cache';
#}
#END MOBILE

# Use cached or actual file if they exists, otherwise pass request to WordPress
location / {
        try_files /wp-content/cache/supercache/$http_host/$cache_uri/index.html $uri $uri/ /index.php?$args ;
}    

Ghost在AMH下的部署

Ghost 是一个开源的博客平台, 可以把他看作 WordPress 的一个挑战者. 现阶段的 WordPress 已经可以明显感觉到有些臃肿不堪, 无论是构架, 设计, 还是实现处处都显示出这是一个 10 年前就诞生的项目, 尤其是最近几个版本更新, 几乎都只是在功能和交互层面作出改进, 而看不到本质上的进步和优化. 因此我更愿意把 Ghost 看作 WordPress 的继任者. 同时, Ghost 基于 JavasSript 的 Node.js 进行开发, 在可预见的未来里, JS 无疑比 PHP 有着更多的优势.

  1. 使用ip:8888登录面板,新建主机
  2. 使用SSH登陆vps,进入/usr/local/nginx/conf/vhost,找到你要修改的域名的配置文件。
  3. 注释掉其中涉及到PHP的部分.
  4. index index.html,index.php下新建一行,填入如下代码,其中2368为你的端口号。
    location / {
        proxy_set_header   X-Real-IP $remote_addr;
        proxy_set_header   Host      $http_host;
        proxy_pass         http://127.0.0.1:2368;
    }
  1. 保存修改,重启nginx。
    为保证安全,请先使用/usr/local/nginx/sbin/nginx -t测试。

Magento在AMH下部署

Magento (麦进斗) 是一套专业开源的电子商务系统。Magento设计得非常灵活,具有模块化架构体系和丰富的功能。易于与第三方应用系统无缝集成。其面向企业级应用,可处理各方面的需求,以及建设一个多种用途和适用面的电子商务网站。 包括购物、航运、产品评论等等,充分利用开源的特性,提供代码库的开发,非常规范的标准,易于与第三方应用系统无缝集成。

  1. 在浏览器中输入Ip:8888登录面板
  2. 进入模块管理-AMRewrite模块管理界面
  3. 新建一个名为Magento.conf的伪静态文件,填入以下内容,保存,新建主机时调用即可
        location / {

            rewrite ^(/index.php)?/minify/([^/]+)(/.*.(js|css))$ /lib/minify/m.php?f=$3&d=$2 last;

                if (-f $request_filename) {
                        expires 30d;
                        break;
                }

                if (!-e $request_filename) {
                        rewrite ^(.+)$ /index.php last;
                }

MediaWiki在AMH下的部署

MediaWiki 是一套以GPL授权发行的Wiki引擎。它具有很丰富的功能,并被维基百科及其他维基媒体基金会的计划所采用,亦为世界上很多不同的维基所采用。

  1. 在浏览器中输入Ip:8888登录面板
  2. 进入模块管理-AMRewrite模块管理界面
  3. 新建一个名为MediaWiki.conf的伪静态文件,填入以下内容,保存,新建主机时调用即可
 location / {
                try_files $uri $uri/ @rewrite;
        }

        location @rewrite {
                rewrite ^/(.*)$ /index.php?title=$1&$args;
        }

        location ^~ /maintenance/ {
                return 403;
        }

Yii在AMH下的部署

Yii Framework是一个基于组件、用于开发大型 Web 应用的高性能 PHP 框架。Yii提供了今日Web 2.0应用开发所需要的几乎一切功能。Yii是最有效率的PHP框架之一。

  1. 在浏览器中输入Ip:8888登录面板
  2. 进入模块管理-AMRewrite模块管理界面
  3. 新建一个名为Yii.conf的伪静态文件,填入以下内容,保存(注意,此处sampleapp为你的应用的名字。),新建主机时调用即可。
location /sampleapp { 
rewrite ^/sampleapp/(.*)$ /sampleapp/index.php?r=$1;
 }   
location ~/(protected|framework|nbproject) { 
deny all;
 access_log off; 
log_not_found off; 
}   
location ~ /themes/\w+/views {
 deny all; 
access_log off; 
log_not_found off; 
}   
location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ { 
try_files $uri =404; 
}

Joomla在AMH环境下部署

Joomla!是一套在国外知名的内容管理系统。Joomla!是使用PHP语言加上MySQL数据库所开发的软件系统,可以在Linux、 Windows、MacOSX等各种不同的平台上执行。

  1. 在浏览器中输入Ip:8888登录面板
  2. 进入模块管理-AMRewrite模块管理界面
  3. 新建一个名为Joomla.conf的伪静态文件,填入以下内容,保存。新建主机时调用即可。
if ( $args ~ "mosConfig_[a-zA-Z_]{1,21}(=|\%3d)" ) {
set $args "";
rewrite ^.*$ http://$host/index.php last;
return 403;}

if ( $args ~ "base64_encode.*\(.*\)") {
set $args "";
rewrite ^.*$ http://$host/index.php last;
return 403;}

if ( $args ~ "(\|%3E)") {
set $args "";
rewrite ^.*$ http://$host/index.php last;
return 403;}

if ( $args ~ "GLOBALS(=|\[|\%[0-9A-Z]{0,2})") {
set $args "";
rewrite ^.*$ http://$host/index.php last;
return 403;}

if ( $args ~ "_REQUEST(=|\[|\%[0-9A-Z]{0,2})") {
set $args "";
rewrite ^.*$ http://$host/index.php last;
return 403;}

if (!-e $request_filename) {

rewrite (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$ /index.php last;
break;
}

CodeIgniter在AMH下的部署指南

CodeIgniter 是一个小巧但功能强大的 PHP 框架,作为一个简单而“优雅”的工具包,它可以为 PHP 程序员建立功能完善的 Web 应用程序。

在AMH下,你可以很方便的部署CodeIgniter.

  1. 在浏览器中输入ip:8888登录面板
  2. 进入模块管理-AMRewrite模块管理界面
  3. 新建一个名为codeigniter的伪静态文件,填入以下内容,保存,新建主机时调用即可。
location / {
try_files $uri $uri/ /index.php;
 }

同时要保证在你的config.php中有以下内容

$config['base_url'] = "http://ixiqin.com/"; $config['index_page'] = ""; $config['uri_protocol'] = "REQUEST_URI";

将其中的ixiqin.com更换为你的url

除此之外,还有另外一种配置方法,此方法无需修改config.php,但可能需要删除index.php,此方法仅供参考。

server { 
listen 80; 
server_name localhost; 
root /home/wwwroot/ci; 
index index.php;   
location / {   
try_files $uri $uri/ /index.php;   
location = /index.php {   
fastcgi_pass 127.0.0.1:6969; 
fastcgi_param SCRIPT_FILENAME /home/wwwroot/ci$fastcgi_script_name; 
include fastcgi_params; 
} 
}   
location ~ \.php$ { 
return 444;
 }     
}

收集整理自西秦公子部落格

Published in Web

6 Comments

发表评论

电子邮件地址不会被公开。 必填项已用*标注