首页 > 网站推广 > 经验心得

OpenCart网站迁移步骤详细介绍

发布时间:2016-10-10 08:41

OpenCart是国外著名的开源电子商务系统,由英国人Daniel一人独立开发,其社区非常活跃,由各国网友翻译出来的语言包已经达到18种,其中包括中文,俄文,法文,西班牙文,德文等等,下面我们来看看OpenCart网站迁移步骤
OpenCart 是最简单也是最受欢迎的电子商务平台之一。但是由于OpenCart使用的是绝对路径,使得迁移OpenCart网站不像迁移WordPress网站那样简单。今天就介绍两个迁移OpenCart网站的方法。

 

迁移OpenCart网站第一步:备份

 

迁移网站嘛,第一步自然是备份咯。备份主要分两个部分,数据库和网站文件。

 

备份数据库比较简单,使用phpmyadmin导出数据库为sql文件就好。如果数据库比较大,可以导出为zip压缩包。至于备份文件,只需要将整个主目录打包下载就好。Linux主机(cPanel),把Public_html文件夹打包下载就好。Windows主机的话,一般是wwwroot目录。

 

migrateopencart001
迁移OpenCart网站第二步:还原数据库

 

无论Windows主机还是Linux主机,都会提供phpmyadmin,有这个工具管理mysql数据库就轻而易举了。创建新的MySQL数据库,记下用户名,密码和数据库名。然后登录phpmyadmin,导入之前导出的sql文件就好。如果数据库太大,无法通过phpmyadmin还原,可以尝试使用Navicat连接远程数据库进行还原,或者联系主机商寻求帮助。

 

迁移OpenCart网站第三步:修改配置文件

 

OpenCart的配置文件有两个,分别是前台和后台。将第一步备份的网站文件解压到本地。首先修改根目录下的config.php文件。先把所以预定义的文件路径修改为新的主机的路径。前面提到过,由于使用绝对路径的问题,此处不修改,网站可能出现空白或者404错误。然后将数据库配置信息修改为最新的配置信息。

 

migrateopencart002

 

migrateopencart003

 

接着修改/admin目录下的config.php文件,修改的内容和根目录下面的内容相同。

 

migrateopencart005

 

migrateopencart006

 

将文件上传到网站主目录就好。如果上传之后,还是有问题。还有终极解决办法。使用notepad++的在文件夹中查找的功能,搜索并替换文件夹所有文件,将旧的绝对路径修改为新的。然后重新上传。

 

另外一个迁移OpenCart网站的方法

 

还有另外一个方法,也是有效的。在新的主机上安装全新的OpenCart,然后还原Images文件夹和modules文件夹,然后恢复数据库。migrateopencart07
FlashFXP是一款常用的服务器客户连接软件了,我们可以通过FlashFXP来上传或下载文件,但有一些朋友使用FlashFXP时碰到中文目录或文件名乱码问题,那么要如何来解决呢?具体就和我来看看吧。

FlashFXP连接远程ftp时虽然不会影响到我们正常使用了,但是看起来也是非常的不爽的,于是就想办法来解决了了,我们知道只要是乱码就会有编码问题了,所以我觉得这个也是编码问题,我检查之后发现原因就是这些字符是utf-8编码,而windows下文件名是GBK编码。

flashFXP中文显示乱码 

FlashFXP中文显示乱码

现在我们在flashfxp中点击“选项->参数设” 但是没有找到,后来百度后找到解决办法,具体如下。

解决办法

打开:站点->站点管理器,选择相应的站点,然后选择高级选项,这里面有关于站点编码的设置。如下图:

flashFXP配置站点编码

选择完毕后,重新连接下就OK了。

好了可能版本不一样设置会有所区别了,不过大家可以多在各种工具与选项中进行操作了。

对Websocket进行负载均衡,WebSocket负载均衡方案,为websocket应用实现负载均衡 。

对Websocket进行负载均衡

http {
    // ...省略

    map $http_upgrade $connection_upgrade {
        default upgrade;
        ''      close;
    }

    upstream websocketCluster {
        ip_hash;
        server 127.0.0.1:6181;
        server 127.0.0.1:6182;
    }

    server {
        listen       80;
        proxy_pass   httpCluster;
        #域名可以有多个,用空格隔开
        server_name  localhost 127.0.0.1;

        location /chat {
        # proxy_pass 127.0.0.1:6181
        proxy_pass websocketCluster

        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        }
    }

    // ...省略
}


WebSocket负载均衡方案

目标

根据指定的key对websocket连接进行负载均衡,达到一致性哈希的效果。

调度模式

Haproxy,负载均衡调度模式有如下几种:

    roundrobin,表示简单的轮询,这个不多说,这个是负载均衡基本都具备的;
    static-rr,表示根据权重;
    leastconn,表示最少连接者先处理;
    source,表示根据请求源IP;
    uri,表示根据请求的URI;
    url_param,表示根据请求的URl参数'balance url_param' requires an URL parameter name
    hdr(name),表示根据HTTP请求头来锁定每一次HTTP请求;
    rdp-cookie(name),表示根据据cookie(name)来锁定并哈希每一次TCP请求。

方案及实现
模式:url_param
前端:通过带参的uri,来向server端(Haproxy/Socketserver)发起请求,如:

    ws://localhost/ws?userid=111,来向server端发起请求。

Haproxy:通过acl来配置规则,如:

    acl is_websocket hdr(Upgrade) -i WebSocket
    acl is_websocket hdr_beg(Host) -i ws

反向代理负载均衡配置,如:

    backend socket_backend_url_param
    balance url_param userid
    option forwardfor
    timeout queue 5000
    timeout server 5000
    timeout connect 5000
    server server1 test:8081
    server server2 test:8082

整体配置

globalmaxconn     4096 # Total Max Connections. This is dependent on ulimitnbproc


为websocket应用实现负载均衡

前言:

websocket相信经常逛cnode社区的孩纸们都知道…具体API使用方式也再熟悉不过了…使用nodejs开发的websocket服务端也是品种繁多…github上总有你喜欢的…平时耍耍当然没问题…如果真要是承载一个生产环境服务的核心…总会有些问题需要你去解决.

不可避免的问题:

按照一个web请求占用线程数为参照…我们可以把nodejs称之为单线程语言…而java的servlet这种应该就是多线程语言了…我们可以想象在高并发情况下…单线程语言的运行风险还是蛮高的…毕竟如果一个请求出事那么整个线程(进程)就退出了…于是乎停止服务了…为了规避风险…我们常常会使用负载均衡技术…保证整个系统的对外正常服务…

解决方案:

负载均衡方案目前来讲…用apache的也不多了吧…普遍的解决方案是使用nginx配置多个upstream.实现负载均衡…例子如下:

http{

upstream http_sr {

    server 192.168.0.2:8080;

    server 192.168.0.3:8080;

}

server {

     listen 80 ;

     proxy_pass http_sr;

}

}


这样对于部署在192.168.0.2和3这两台机器上http服务…就通过这台nginx服务器实现了负载均衡…但是websocket的服务端nginx的http反向代理是不能支持的.从websocket的specs我们可以很明确的其实基于tcp协议的…http协议虽然也是基于tcp…它们都使用了tcp的握手方式…但是nginx的http_proxy_pass是不能支持websocket的…

于是我们可以寻根问主…让nginx支持tcp_proxy_pass…那websocket负载均衡的问题不就迎刃而解了…nginx有丰富的第三方扩展…一顿搜索在github上找到了yaoweibin老师的nginx_tcp_proxy_module

二话不说下载此模块…重新编译nginx(此过程略吧大家应该都懂) …修改nginx配置文件加入下面conf:

tcp {

      upstream websocket {

          server 192.168.0.2:8080;

          server 192.168.0.3:8080;

          check interval=3000 rise=2 fall=5 timeout=1000;

      }

      server {

           listen 80;

           proxy_pass websocket;

      }

}


这个module的作者在description写到:

 The motivation of writing these modules is Nginx’s high performance and

    robustness. At first, I developed this module just for general TCP

    proxy. And now, this module is frequently used in websocket reverse

    proxying.


目前基本就是用来做websocket反向代理的…测试后确实是支持的…非常感谢module的开发者另外值得注意的是你要在nginx里同时配置tcp和http…那么它们是不能listen同一端口的…

本文我们来分享一个小工具 icdiff,他可以并列对比显示两个文件,不同的地方用高亮突出,非常好用。

发现一个刚出炉的文件比较小工具 icdiff. icdiff 可以并列显示两个文件的不同,比传统的 diff 好看多了。

虽然传统 diff 很强大,估计没几个人喜欢看这样的比较结果:

$ diff 1.css 2.css

  

icdiff 是 python 程序,从 github 上下载的是可执行文件,直接运行就可以了。icdiff 能并列显示比较结果,还能高亮显示差异,找起问题来容易多了:

$ git clone https://github.com/jeffkaufman/icdiff.git

$ cd icdiff

$ ./icdiff 1.css 2.css

 


 

自从 google 退出中国大陆,google adsense 收款就变得复杂了,不过还可以有西联汇款,而且站长不需要出手续费,速度也快。现在我们用图解告诉如何在光大银行网上银行上操作西联收款。

以前我是在农业银行的柜台上去西联,后来发现这个要浪费上班时间,所以就到光大柜台咨询了一下,原来光大可以在网上收西联,非常方便,支持24小时作业。

光大网上银行西联收款一

第一步,打开光大银行官方网站:http://www.cebbank.com

光大网上银行西联收款2

选个人网上银行,点登录,进入登录页面

光大网上银行西联收款3

输入用户名密码后,点登录进入手机验证界面

光大网上银行西联收款4

输入手机验证码后进入个人网上银行中心

光大网上银行西联收款5

在导航菜单上找到:个人外汇 - 西联汇款 - 西联收汇

光大网上银行西联收款6

进入收汇界面后填写打*号的地方

光大网上银行西联收款7

资金来源选广告服务,附言选广告费收入

光大网上银行西联收款 google adsense 图解步骤

输入交易密码后进入信息确认页面,然后确定提交

光大网上银行西联收款9

收汇成功,然后返回到你的资金列表吧。你也可以马上结汇,非常方便。

标签:[!--infotagslink--]

您可能感兴趣的文章: