【原创】更改SSH默认22端口或增加SSH端口的修改方法
以下教程以Fedora-13 为例
首先查看SELinux是否是开启状态,如果默认是开启先暂时关闭
// 查看SELinux的当前模式
# getenforce
// 设置SELinux的当前模式,1设为Enforcing,2设为Permissive
# setenforce 1|0
=====================================================
vi /etc/ssh/sshd_config
查找:#Port 22 去掉之前的# 并在以下新增加新端口999
Port 22
Port 999
无论你是想增加新端口999 还说想更改默认22端口为999
建议先保存22和999 请先同时保存两个端口以避免修改中出现失误导致无法登入到远程服务器!
之所以先设置成两个端口,测试成功后再关闭一个端口,是为了方式在修改conf的过程中,万一出现掉线、断网、误操作等未知情况时候,还能通过另外一个端口连接上去调试以免发生连接不上必须派人去机房,导致问题更加复杂麻烦。
更改完成并保存!重启SSHD:
*************************************************************************************
service sshd restart 或者 /etc/init.d/sshd restart
*************************************************************************************
然后修改防火墙规则:
vi /etc/sysconfig/iptables
添加新端口:-A INPUT -m state --state NEW -m tcp -p tcp --dport 999 -j ACCEPT
*************************************************************************************
保存之后重启防火墙规则:/etc/init.d/iptables restart 或者 service iptables restart
*************************************************************************************
现在请使用ssh工具连接999端口,来测试是否成功。如果连接成功了,则再次编辑sshd_config的设置,将里边的Port22删除,即可。
【原创】nginx负载均衡实例,亲测
nginx不单可以作为强大的web服务器,也可以作为一个七层的反向代理服务器,而且nginx还可以按照调度规则实现动态、静态页面的分离,可以按照轮询、ip哈希、URL哈希、权重等多种方式对后端服务器做负载均衡,同时还支持后端服务器的健康检查。
如果将web服务器集群当做一个城池,那么负载均衡服务器就相当于城门,重要性不言而喻,如果“城门”关闭了,与外界的通道也就掐断了,如果只有一台nginx负载均衡服务器,当该服务器发生故障时,则会整个网站无法访问,因此,就需要两台以上的nginx负载均衡服务器,实现故障转移与高可用,双机高可用暂不详细介绍。
下面就是一个生产实例。
aaa.liuxinxiu.com 和 bbb.liuxinxiu.com 域名均指向 Nginx 所在的服务器IP。
用户访问http://aaa.liuxinxiu.com/,将其负载均衡到120.9.123.121:80、202.108.22.142:80 这两台服务器。
用户访问http://bbb.liuxinxiu.com/,将其负载均衡到60.5.185.59:80、120.9.123.121:80、202.108.22.142:80 这三台服务器。
============================================================================
注意:
ip_hash来代替默认的rr方式,即可以将某客户端IP的请求通过哈希算法定位到同一台后端web服务器上,这样避免了session丢失,解决了session问题。但ip_hash指令无法保证后端服务器的负载均衡,可能有些后端服务器接收的请求多,有些后端服务器接收的请求少;这样失去了负载均衡的意义,所以,如果后端的动态应用服务器做到session共享,还是建议采用后端服务器的session共享方式来代替nginx的ip_hash方式。
===================================================================】】
以下是AAA组分配的2组负载均衡服务器,规则更加反应速度,快者NGINX优先选择,ip_hash; 这种形式只能使用IP分配!
BBB组分配的三组负载均衡服务器,采用默认顺序规则,由上至下依次选择,如果最上边60.5.185.59这组服务器DOWN掉选择中间120.9.123.121这组,如果中间这组挂掉则NGINX自动202.108.22.142最下边这组IP主机!
BBB虚拟主机SERVER中的配置内容:
注,选择中的部分:
#root /ftp/101;
index index.html index.htm index.php;
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
expires 30d;
}
location ~ .*\.(htm|html|js|css)$ {
expires 1h;
}
可以忽略不添加,或者注释掉也可以!!!!!!
AAA在SERVER中的添加内容和BBB类似!
Nginx Location 语法,与简单配置
一、介绍Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为“engine X”, 是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器.
二、Location语法语法:location [=|~|~*|^~] /uri/ { … }
注:
1、~ 为区分大小写匹配
2、~* 为不区分大小写匹配
3、!~和!~*分别为区分大小写不匹配及不区分大小写不匹配
示例一:
location / { }
匹配任何查询,因为所有请求都以 / 开头。但是正则表达式规则将被优先和查询匹配。
示例二:
location =/ {}
仅仅匹配/
示例三:
location ~* \.(gif|jpg|jpeg)$ {
rewrite \.(gif|jpg)$ /logo.png;
}
注:不区分大小写匹配任何以gif,jpg,jpeg结尾的文件
三、ReWrite语法
last - 基本上都用这个Flag。
break - 中止Rewirte,不在继续匹配
redirect - 返回临时重定向的HTTP状态302
permanent - 返回永久重定向的HTTP状态301
1、下面是可以用来判断的表达式:
-f和!-f用来判断是否存在文件
-d和!-d用来判断是否存在目录
-e和!-e用来判断是否存在文件或目录
-x和!-x用来判断文件是否可执行
2、下面是可以用作判断的全局变量
例:http://localhost:88/test1/test2/test.php
$host:localhost
$server_port:88
$request_uri:http://localhost:88/test1/test2/test.php
$document_uri:/test1/test2/test.php
$document_root:D:\nginx/html
$request_filename:D:\nginx/html/test1/test2/test.php
四、Redirect语法
server {
listen 80;
server_name start.igrow.cn;
index index.html index.php;
root html;
if ($http_host !~ "^www\.itlearner\.com$ {
rewrite ^(.*) http://www.itlearner.com$1 redirect;
}
}
五、防盗链location ~* \.(gif|jpg|swf)$ {
valid_referers none blocked start.igrow.cn sta.igrow.cn;
if ($invalid_referer) {
rewrite ^/ http://$host/logo.png;
}
}
六、根据文件类型设置过期时间
location ~* \.(js|css|jpg|jpeg|gif|png|swf)$ {
if (-f $request_filename) {
expires 1h;
break;
}
}
七、禁止访问某个目录
location ~* \.(txt|doc)${
root /data/www/wwwroot/linuxtone/test;
deny all;
}
++ 一些可用的全局变量
$args
$content_length
$content_type
$document_root
$document_uri
$host
$http_user_agent
$http_cookie
$limit_rate
$request_body_file
$request_method
$remote_addr
$remote_port
$remote_user
$request_filename
$request_uri
$query_string
$scheme
$server_protocol
$server_addr
$server_name
$server_port
$uri
nginx负载均衡和lvs负载均衡的比较分析【转载】
lvs和nginx都可以用作多机负载的方案,它们各有优缺,在生产环境中需要好好分析实际情况并加以利用。
首先提醒,做技术切不可人云亦云,我云即你云;同时也不可太趋向保守,过于相信旧有方式而等别人来帮你做垫被测试。把所有即时听说到的好东西加以钻研,从而提高自己对技术的认知和水平,乃是一个好习惯。
下面来分析一下两者:
一、lvs的优势:
1、抗负载能力强,因为lvs工作方式的逻辑是非常之简单,而且工作在网络4层仅做请求分发之用,没有流量,所以在效率上基本不需要太过考虑。在我手里的lvs,仅仅出过一次问题:在并发最高的一小段时间内均衡器出现丢包现象,据分析为网络问题,即网卡或linux2.4内核的承载能力已到上限,内存和cpu方面基本无消耗。
2、配置性低,这通常是一大劣势,但同时也是一大优势,因为没有太多可配置的选项,所以除了增减服务器,并不需要经常去触碰它,大大减少了人为出错的几率。
3、工作稳定,因为其本身抗负载能力很强,所以稳定性高也是顺理成章,另外各种lvs都有完整的双机热备方案,所以一点不用担心均衡器本身会出什么问题,节点出现故障的话,lvs会自动判别,所以系统整体是非常稳定的。
4、无流量,上面已经有所提及了。lvs仅仅分发请求,而流量并不从它本身出去,所以可以利用它这点来做一些线路分流之用。没有流量同时也保住了均衡器的IO性能不会受到大流量的影响。
5、基本上能支持所有应用,因为lvs工作在4层,所以它可以对几乎所有应用做负载均衡,包括http、数据库、聊天室等等。
另:lvs也不是完全能判别节点故障的,譬如在wlc分配方式下,集群里有一个节点没有配置VIP,会使整个集群不能使用,这时使用wrr分配方式则会丢掉一台机。目前这个问题还在进一步测试中。所以,用lvs也得多多当心为妙。
二、nginx和lvs作对比的结果
1、nginx工作在网络的7层,所以它可以针对http应用本身来做分流策略,比如针对域名、目录结构等,相比之下lvs并不具备这样的功能,所以nginx单凭这点可利用的场合就远多于lvs了;但nginx有用的这些功能使其可调整度要高于lvs,所以经常要去触碰触碰,由lvs的第2条优点看,触碰多了,人为出问题的几率也就会大。
2、nginx对网络的依赖较小,理论上只要ping得通,网页访问正常,nginx就能连得通,nginx同时还能区分内外网,如果是同时拥有内外网的节点,就相当于单机拥有了备份线路;lvs就比较依赖于网络环境,目前来看服务器在同一网段内并且lvs使用direct方式分流,效果较能得到保证。另外注意,lvs需要向托管商至少申请多一个ip来做Visual IP,貌似是不能用本身的IP来做VIP的。要做好LVS管理员,确实得跟进学习很多有关网络通信方面的知识,就不再是一个HTTP那么简单了。
3、nginx安装和配置比较简单,测试起来也很方便,因为它基本能把错误用日志打印出来。lvs的安装和配置、测试就要花比较长的时间了,因为同上所述,lvs对网络依赖比较大,很多时候不能配置成功都是因为网络问题而不是配置问题,出了问题要解决也相应的会麻烦得多。
4、nginx也同样能承受很高负载且稳定,但负载度和稳定度差lvs还有几个等级:nginx处理所有流量所以受限于机器IO和配置;本身的bug也还是难以避免的;nginx没有现成的双机热备方案,所以跑在单机上还是风险较大,单机上的事情全都很难说。
5、nginx可以检测到服务器内部的故障,比如根据服务器处理网页返回的状态码、超时等等,并且会把返回错误的请求重新提交到另一个节点。目前lvs中ldirectd也能支持针对服务器内部的情况来监控,但lvs的原理使其不能重发请求。重发请求这点,譬如用户正在上传一个文件,而处理该上传的节点刚好在上传过程中出现故障,nginx会把上传切到另一台服务器重新处理,而lvs就直接断掉了,如果是上传一个很大的文件或者很重要的文件的话,用户可能会因此而恼火。
6、nginx对请求的异步处理可以帮助节点服务器减轻负载,假如使用apache直接对外服务,那么出现很多的窄带链接时apache服务器将会占用大量内存而不能释放,使用多一个nginx做apache代理的话,这些窄带链接会被nginx挡住,apache上就不会堆积过多的请求,这样就减少了相当多的内存占用。这点使用squid也有相同的作用,即使squid本身配置为不缓存,对apache还是有很大帮助的。lvs没有这些功能,也就无法能比较。
7、nginx能支持http和email(email的功能估计比较少人用),lvs所支持的应用在这点上会比nginx更多。
在使用上,一般最前端所采取的策略应是lvs,也就是DNS的指向应为lvs均衡器,lvs的优点令它非常适合做这个任务。
重要的ip地址,最好交由lvs托管,比如数据库的ip、webservice服务器的ip等等,这些ip地址随着时间推移,使用面会越来越大,如果更换ip则故障会接踵而至。所以将这些重要ip交给lvs托管是最为稳妥的,这样做的唯一缺点是需要的VIP数量会比较多。
nginx可作为lvs节点机器使用,一是可以利用nginx的功能,二是可以利用nginx的性能。当然这一层面也可以直接使用squid,squid的功能方面就比nginx弱不少了,性能上也有所逊色于nginx。
nginx也可作为中层代理使用,这一层面nginx基本上无对手,唯一可以撼动nginx的就只有lighttpd了,不过lighttpd目前还没有能做到nginx完全的功能,配置也不那么清晰易读。另外,中层代理的IP也是重要的,所以中层代理也拥有一个VIP和lvs是最完美的方案了。
nginx也可作为网页静态服务器,不过超出了本文讨论的范畴,简单提一下。
具体的应用还得具体分析,如果是比较小的网站(日PV<1000万),用nginx就完全可以了,如果机器也不少,可以用DNS轮询,lvs所耗费的机器还是比较多的;大型网站或者重要的服务,机器不发愁的时候,要多多考虑利用lvs。
【原创】Linux 配置Nginx反向代理(可用于负载均衡)
反向代理是什么?
反向代理指以代理服务器来接受Internet上的连接请求,然后将请求转发给内部(或其他)网络上的服务器,并将从服务器上得到的结果返回给Internet上请求连接的客户端。
实现方法:
比如我想在Nginx上建一个bbb的域名,使用NGINX通过该域名反向代理访问百度网站,首先在把bbb添加值本机HOST文件中,WINDOWS机器在:C:\WINDOWS\system32\drivers\etc 下修改hosts 用记事本打开在127.0.0.1 下一行添加:
127.0.0.1 localhost
221.221.161.147 bbb
IP地址部分对应你的LINUX主机IP
bbb 为测试域名
再在Linux上修改Nginx的配置文件,添加如下:
server
{
listen 80;
server_name bbb;
location / {
proxy_pass http://www.baidu.com/;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
-----------------------------------------------------------------------------------------------------------------
添加好后,先执行:/usr/local/nginx/sbin/nginx -t 检查配置是否正常,如果显示:the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok configuration file /usr/local/nginx/conf/nginx.conf test is successful 则正常,否则按错误提示修改配置。
再执行 kill -HUP `cat /usr/local/nginx/logs/nginx.pid` 使配置生效,域名解析生效后就可以通过BBB 访问百度了。
=================================================================
server
{
listen 8080;
server_name 192.168.2.127;
location / {
proxy_pass http://www.baidu.com/;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
==============================================
【原创】Win2003下discuz论坛转移至Lnmp下注意事项(Rewrite重写、上传附件目录权限)
Discuz!在Nginx下的Rewrite
完整正确的Discuz!在Nginx下的Rewrite如下:
蓝色部分为完整的配置内容添加至,虚拟主机 server{} 内,不要放到 location {} 以内!
使之单独存在于:server{
location {}
if (!-e $request_filename)
{
rewrite ^/archiver/((fid|tid)-[w-]+.html)$ /archiver/index.php?$1 last;
rewrite ^/forum-([0-9]+)-([0-9]+).html$ /forumdisplay.php?fid=$1&page=$2 last;
rewrite ^/thread-([0-9]+)-([0-9]+)-([0-9]+).html$ /viewthread.php?tid=$1&extra=page%3D$3&page=$2 last;
rewrite ^/space-(username|uid)-(.+).html$ /space.php?$1=$2 last;
rewrite ^/tag-(.+).html$ /tag.php?name=$1 last;
break;
}
=======================================================================
discuz论坛由WIN移至Linux下,附件文件无法保存到服务器上的问题解决方案!
提示信息:附件文件无法保存到服务器,可能是目录属性设置问题,请与管理员联系。
解决方法:
问题1:attachement目录是否设置属性777,win主机属性everyone
DIDCUZ安装时提示: 设置目录属性(windows 服务器可忽略这一步)
以下这些目录需要可读写权限
./templates
./attachments
./forumdata
./forumdata/cache
./forumdata/templates
./forumdata/threadcaches
./forumdata/logs
LINUX下以上目录统一修改权限为777:
chown -R 777 templates
chown -R 777 attachments
chown -R 777 forumdata
chown -R 777 forumdata/cache
chown -R 777 forumdata/templates
chown -R 777 forumdata/threadcaches
chown -R 777 forumdata/logs
问题2:php.ini中的设置可能存在问题
将;upload_tmp_dir = 该行的注释符,即前面的分号“;”去掉,使该行在php.ini文档中起作用。upload_tmp_dir是用来定义上传文件存放的临时路径,在这里你还可以修改并给其定义一个绝对路径,这里设置的目录必须有读写权限。付给WWW可执行权限。
另外:
在nginx.conf增加 client_max_body_size的相关设置, 这个值默认是1m,可以增加到8m以增加提高文件大小限制;
如果运行的是php,那么还要检查php.ini,这个大小client_max_body_size要和php.ini中的如下值的最大值一致或者稍大,这样就不会因为提交数据大小不一致出现的错误。
post_max_size = 8M
upload_max_filesize = 2M
在php.ini中upload_max_filesize 的参数设置也增加到8M和NGINX相互一直,若不需要用上传超大附件,可以在DISCUZ后台限制用户上传附件大小 8M<
以上全部更改,确保了附件目录拥有了足够了权限之后若还说不能上传。见问题3
问题3:DISCUZ 后台更改附件附件 URL 地址
DISCUZ 默认设置:
后台 基本设置 附件设置 不小心开启远程附件或者没有设置完整也会出现此问题
后台 基本设置 附件设置 设置的附件保存方式为其他方式 不是保存在同一目录下 部分服务器限制了目录属性 导致无法上传附件(虚拟空间出现的比例较多)
可以尝试把附件 URL 地址: 修改为绝对路径如:
http://bbs.liuxinxiu.com/attachments
liuxinxiu 换成你的域名,不再根目录下加加子目录:http://www.liuxinxiu.com/bbs/attachments
==================================================================
【转载】使用PHP-FPM避免Nginx下的spawn-fcgi漏洞
之前传出的nginx漏洞其实不算是nginx的问题,而是spawn-fcgi的漏洞。张宴的博客总结了一份比较简单的方法(再提供一种解决Nginx文件类型错误解析漏洞的方法),利用正则规避了这个问题。不过这些解决方法都是治标不治本,我个人建议使用php-fpm代替spawn-fcgi。
php-fpm曾经是PHP项目的一个补丁,旨在将FastCGI进程管理整合进PHP包中。现在我们可以在最新的PHP 5.3.2的源码树里下载得到直接整合了php-fpm的分支,据说下个版本会融合进PHP的主分支去。
相对spawn-fcgi,php-fpm在CPU和内存方面的控制都更胜一筹,而且前者很容易崩溃,必须用crontab进行监控,而php-fpm则没有这种烦恼。
如果你使用Ubuntu/Debian而且不想编译,可以尝试这个方法,安装最新的PHP 5.3.2及php-fpm 0.6包。但我个人使用的过程中发现这种方式可能导致一些像mcrypt等扩展无法使用,所以还是采用了源码安装的方式。
先确定安装了subversion等一些包
$ sudo apt-get install bison libxml2-dev libbz2-dev libpcre3-dev libssl-dev zlib1g-dev libmcrypt-dev libmhash-dev libmhash2 libcurl4-openssl-dev libpq-dev libpq5 libsyck0-dev
$ svn co http://svn.php.net/repository/php/php-src/branches/PHP_5_3_FPM php_5_3_fpm$ cd php_5_3_fpm
请先确定已经安装了autoconf2.13这个包,注意版本号。新版本的autoconf可能会导致无法生成配置文件
$ ./buildconf --force
配置你的php,一定要有--enable-fpm
$ ./configure --enable-fpm --with-foo --enable-bar...
我使用的配置方式,ubuntu的很多开发包没有安装,所以这个步要安装各种开发包,挺花时间的。
$ ./configure --enable-fastcgi --enable-fpm --with-mcrypt --with-zlib --enable-mbstring --with-pdo --with-pgsql --with-curl --disable-debug --enable-pic --enable-inline-optimization --with-xml --enable-sockets --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --with-mhash --enable-xslt --enable-memcache --enable-zip --with-pcre-regex --with-gd --with-sqlite --enable-exif --enable-zip --enable-ftp --with-pear --with-libxml-dir --with-mysql --with-openssl
编译和安装
$ sudo make && make install
安装后修改/usr/local/etc/php-fpm.conf,把所有的nobody改成你运行php-fpm的用户组和用户名,一般是www-data。修改一下,如果你的服务器内存比较小,建议从5开始递增修改,子进程会占用比较多的内存。
<value name="max_children">5</value>
完成后,运行
php-fpm -c /path/to/your/php.ini
这个操作没有回显,默认在127.0.0.1:9000打开一个PHP的fastcgi服务,用类似spawn-fcgi的方法把php文件的处理pass给php-fpm即可。记得加入下面的参数,以避免一些古怪的问题引起502 Gateway错误。
location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /path/to/your/root$fastcgi_script_name; fastcgi_connect_timeout 60; fastcgi_send_timeout 180; fastcgi_read_timeout 180; fastcgi_buffer_size 128k; fastcgi_buffers 4 256k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; fastcgi_intercept_errors on; include fastcgi_params; }
【原创】关于wget、get、 put 及其网络管理优先采用的数据传输方式。
本人局域网内构建2台机器A+B , A 为LINUX操作系统,B为WIN-XP 。
作为局域网可以不考虑外网带宽问题,测试项目如下:
假设以LINUX为服务器环境,测试一:快速备份LINUX上的压缩文件最佳方式使用多线程下载工作【迅雷等】下载已经在LINUX端压缩好的备份文件速度局域网内可达10MB/S :
测试二:快速传送XP机上的文件至LINUX 【采用了put 、get 、wget】三种方式做对比@如下:
由以上可以看出,以SSH自带SFTP 的PUT 上传命令上传XP---至-----LINUX 传输文件,速度并不是很理想。仅均5000KB/秒
以下看下使用SSH 中SFTP的下行命令get 【备份LINUX文件至XP本地】如图:
速度仅为6000KB/秒 相对 迅雷的10MB 还是不及。
然后再看下使用SSH下Wget 下载命令,提前开开XP的WEB服务器,设置APACHE无下载限制。
速度为9MB/秒,和使用迅雷相当!!
如此得出结论:我们平时传输数据时,无论相对本地的上传和下载。尽可能地使用下载命令。
本地WIN 备份远程 LINUX 数据可以 迅雷 多线程下载工具!@
本地LINUX备份远程LINUX或者WIN主机可以使用SSH中下载命令 WGET
上传本地XP数据至远程LINUX可以SSH从远程使用WGET 下载“本地”数据【前提开WEB服务,配置无下载限制,ADSL临时获取IP用户方便使用】
上传本地XP或者LINUX 上传数据至远程LINUX 还可以使用SSH连接远程使用自带的SFTP用 PUT 下载 【速度无一般无优势】
=======================================================================
转载请注明 文章来源:http://liuxinxiu.com/wget_get_put/
【原创】WINDOWS下压缩tar.gz 的方法。(使用7z软件)
本人网站最起初有运作在WIN上,由于更换LINUX操作系统,数据迁移必不可少,ZIP RAR 等文件在LINUX 下支持都不是很理想,索性直接在WIN 下压缩成tar.gz 文件!
tar.gz 是linux和unix下面比较常用的格式,几个命令就可以把文件压缩打包成tar.gz格式,然而这种格式在windows并不多见,WinRAR、WinZip等主流压缩工具可以释放解开,却不能打包生成。但是tar.gz在服务器端却很常用,因为服务器系统linux占了相当的一部分。于是许多习惯用Windows的Web开发人员,在上传网站到空间时可能会遇到这个压缩格式的麻烦。如何生成得到tar.gz压缩包,在网上搜了一下除了复杂的命令行和开源软件之外,似乎没有其他的。偶然发现“7-ZIP”这个软件可以很方便地解决这个问题。
压缩前文件夹属性
压缩成.TAR 后文件属性
压缩成:WebRoot.tar 大小没有缩小,反而增大了些!
在:WebRoot.tar 基础上再次压缩成:WebRoot.tar.gz 最后大小:2.71GB
具体步骤如下:
一、安装7-ZIP以后,直接在你想要打包的文件上点右键菜单,会有一个7-ZIP的子菜单栏,类似WinRAR和WinZIP的那种右键菜单。然后选“7-ZIP”->“添加到压缩档案”,在弹出来的窗口里有个“压缩格式”的选项,里面并没有tar.gz格式,没关系,里面有一个Tar格式,第一步就是要先压成tar格式。
二、成功打包为Tar文件后,你可能会发现这个tar文件包和原来的文件大小一样,也就是说tar本身并没有压缩,而是仅仅把它们打包成一个单独的Tar文件。所以需要做第二步,再在这个tar文件上面点右键,选“7-ZIP”->“添加到压缩档案”,这时候弹出的窗口里再看“压缩格式选项”,发现多了两个刚才没有的,其中就包括“GZip”,是的,这一步就是把tar文件继续压缩成GZip。选择“GZip”格式后确定,最后结果就是一个新的tar.gz格式的文件。
经本人测试,兼容各种软件,上传到服务器上也没有问题。整个过程鼠标流,完全不用敲什么命令行。至此,在windows下面得到tar.gz完成。
另外再记下一件事,在Cpanel 11 控制面板下面的File Manager 文件管理器中,有在线打包(Compress)和解压(Extract)功能,支持ZIP和Tar.gz等格式,RAR好像不行。关于这个解压功能的“是否覆盖存在文件”,如果压缩包是ZIP格式会有几行提示说是否要覆盖,不用费力去想怎样才能完成这个选择,实际上这几行字是不能点击的,它会默认选否,不覆盖。那么问题就来了,如果要想覆盖原有的文件怎么办?Cpanel的官方网站什么不说,倒是在某个英文论坛角落找到了答案,就是使用tar.gz格式。tar.gz压缩包释放的时候会默认选覆盖,我试过了确实如此,够晕吧。
========================================================================
转载请标明出处:http://liuxinxiu.com/win_tar_gz/
mysql 赋给用户权限 grant all privileges on
遇到了 SQLException: access denied for @'localhost' (using password: no)
解决办法 grant all privileges on *.* to joe@localhost identified by '1';
flush privileges;
拿 joe 1 登陆
附:
mysql> grant 权限1,权限2,…权限n on 数据库名称.表名称 to 用户名@用户地址 identified by ‘连接口令’;
权限1,权限2,…权限n代表select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file等14个权限。
当权限1,权限2,…权限n被all privileges或者all代替,表示赋予用户全部权限。
当数据库名称.表名称被*.*代替,表示赋予用户操作服务器上所有数据库所有表的权限。
用户地址可以是localhost,也可以是ip地址、机器名字、域名。也可以用’%'表示从任何地址连接。
‘连接口令’不能为空,否则创建失败。
mysql>grant select,insert,update,delete,create,drop on vtdc.employee to joe@10.163.225.87 identified by ‘123′;
给来自10.163.225.87的用户joe分配可对数据库vtdc的employee表进行select,insert,update,delete,create,drop等操作的权限,并设定口令为123。
mysql>grant all privileges on vtdc.* to joe@10.163.225.87 identified by ‘123′;
给来自10.163.225.87的用户joe分配可对数据库vtdc所有表进行所有操作的权限,并设定口令为123。
mysql>grant all privileges on *.* to joe@10.163.225.87 identified by ‘123′;
给来自10.163.225.87的用户joe分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123。
mysql>grant all privileges on *.* to joe@localhost identified by ‘123′;
给本机用户joe分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123。