乘着双十二活动在腾讯云入手了一台腾讯云的centos服务器,着手把在阿里云上的windows服务器里部署的服务和网址搬到centos,期间遇到了好多问题,特此记录一下。
- #issue1:原来Windows服务器上有大量的冗余的数据文件,且文件数复杂,高达五十几万个,,,,搬迁的时候试过zip无压缩打包,结果不争气的服务器内存溢出炸了??没办法,最后重启服务器使用tar命名打包总算成功。
- #issue2: 强烈建议临时升级带宽配置,一个小时带宽加到20M也就五块钱左右,但是可以节约大把的时间,一般服务器是不设或者小幅限制下行带宽的,Linux上远程拉取备份文件推荐使用axel工具,多线程下载很舒服。
Debian/Ubuntu/Linux Mint用户
sudo apt-get install axel
Redhat/Fedora 用户
yum install axel
同样,大家可以源码编译安装:
cd ~/Download wget
http://alioth.debian.org/frs/download.php/3015/axel-2.4.tar.gz tar zxvf
axel-2.4.tar.gz && cd axel-2.4 ./configure && make sudo make install
3.#issue3:部署MySQL的时候遇到数据库编码问题,原来的Windows服务器上数据库编码格式为latin1,由于已经存在大量latin1编码的数据库记录,于是我想出两种办法
- 将centos里的数据库编码改为latin1,然后在/etc/my.cnf配置中写入
character_set_server=latin1
,重载mysqld服务:/etc/init.d/mysqld reload
。成功解决问题,可是长远打算来看,phpmyadmin里面latin1记录都是乱码,管理起来也不方便,于是就诞生了下面第二个办法 - 使用mysqldump工具,
mysqldump --default-character-set=latin1 -u 账户名 -p 数据库名 > old.sql
,这样导出的old.sql文件里的SQL记录就是utf-8格式的了,再执行一遍就ok,数据库编码就统一成了utf8编码。
4.#issue4:nginx服务器默认不接受带下划线的header,解决方法:/www/server/nginx/conf/nginx.conf
配置文件里输入underscores_in_headers on;
,然后重载nginx服务就ok
5.#issue5:Windows下对文件大小写不敏感到linux下nginx对文件大小写敏感,于是就经常造成404错误,给app提供数据的接口就挂了,解决方法,先给nginx添加lua语法支持,然后在对应的conf配置文件中输入` location /
{
if ($uri ~ [A-Z]){
rewrite_by_lua 'return ngx.redirect(string.lower(ngx.var.uri),ngx.HTTP_MOVED_PERMANENTLY)';
}
if ($request_filename ~* ^.*?.(txt|doc|pdf|rar|gz|zip|docx|exe|xlsx|ppt|pptx|jpg|png)$){
add_header Content-Disposition attachment;
}
} `然后把所有大写改成小写,就对大小写不敏感了。
慢慢踩坑,centos配合nginx速度非常快,Linux真香。
博主真是太厉害了!!!
叼茂SEO.bfbikes.com
想想你的文章写的特别好