存档

文章标签 ‘web’

宝塔等Nginx环境添加允许跨域Header头问题补充

2020年5月2日 没有评论

宝塔等Nginx环境添加允许跨域Header头

我已宝塔面板为例:
点击站点修改
点击配置文件
在 39 行下面添加
add_header ‘Access-Control-Allow-Origin’ ‘*’;
add_header ‘Access-Control-Allow-Credentials’ ‘true’;
add_header ‘Access-Control-Allow-Methods’ ‘GET, POST, OPTIONS’;
然后重启 nginx.
下面是通用 nginx 添加允许跨域header头

使用ngx_http_headers_module中的add_header指令,在响应头中添加允许跨域。

Syntax: add_header name value [always];
Default: —
Context: http, server, location, if in location
一般地,我们把允许跨域的头加在动态接口后面,比如 php,就加在解析 php 后面

add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Headers X-Requested-With;
add_header Access-Control-Allow-Methods GET,POST;
注意,在实际中 Allow-Origin 不要指定为*,要设置为允许访问的域名,比如 http://abc.com

centos 内存越来越大 内存占满 释放内存

2016年5月6日 没有评论

Centos 内存占满 释放内存

大家经常使用centos系统是不是感觉经常使用top看到内存在使用一段时间后会越来越大,我也一样,今天用 free -m 查看,发现内存跑满了。
top后按下shift+m,就是按内存占用百分比排序的程序,发现排在第一的进程,才占用0.9%,那是什么占用的呢?谷歌了一下,据说是centos为了提高效率,把部分使用过的文件缓存到了内存里。如果是这样的话,我又不需要这样的文件性能,那就可以释放。如下两个命令就可以:

1
2
sync
echo 3 > /proc/sys/vm/drop_caches

MySQL 配置优化

2014年10月25日 没有评论

安装MySQL后,配置文件my.cnf在 /MySQL安装目录/share/mysql目录中,该目录中还包含多个配置文件可供参考,有my-large.cnf ,my-huge.cnf, my-medium.cnf,my-small.cnf,分别对应大中小型数据库应用的配置。win环境下即存在于MySQL安装目录中的.ini文件。

下面列出了对性能优化影响较大的主要变量,主要分为连接请求的变量和缓冲区变量。

1. 连接请求的变量:

1) max_connections
MySQL的最大连接数,增加该值增加mysqld 要求的文件描述符的数量。如果服务器的并发连接请求量比较大,建议调高此值,以增加并行连接数量,当然这建立在机器能支撑的情况下,因为如果连接数越多,介于MySQL会为每个连接提供连接缓冲区,就会开销越多的内存,所以要适当调整该值,不能盲目提高设值。

数值过小会经常出现ERROR 1040: Too many connections错误,可以过’conn%’通配符查看当前状态的连接数量,以定夺该值的大小。

show variables like ‘max_connections’ 最大连接数

show status like ‘max_used_connections’响应的连接数

如下:

mysql> show variables like ‘max_connections‘;

+———————–+——-+

| Variable_name | Value |

+———————–+——-+

| max_connections | 256  |

+———————–+——-+

mysql> show status like ‘max%connections‘;

+———————–+——-+

| Variable_name  | Value |

+—————————-+——-+

| max_used_connections | 256|

+—————————-+——-+

max_used_connections / max_connections * 100% (理想值≈ 85%)

如果max_used_connections跟max_connections相同 那么就是max_connections设置过低或者超过服务器负载上限了,低于10%则设置过大。

2) back_log
MySQL能暂存的连接数量。当主要MySQL线程在一个很短时间内得到非常多的连接请求,这就起作用。如果MySQL的连接数据达到max_connections时,新来的请求将会被存在堆栈中,以等待某一连接释放资源,该堆栈的数量即back_log,如果等待连接的数量超过back_log,将不被授予连接资源。

back_log值指出在MySQL暂时停止回答新请求之前的短时间内有多少个请求可以被存在堆栈中。只有如果期望在一个短时间内有很多连接,你需要增加它,换句话说,这值对到来的TCP/IP连接的侦听队列的大小。

当观察你主机进程列表(mysql> show full processlist),发现大量264084 | unauthenticated user | xxx.xxx.xxx.xxx | NULL | Connect | NULL | login | NULL 的待连接进程时,就要加大back_log 的值了。

默认数值是50,可调优为128,对于Linux系统设置范围为小于512的整数。

3) interactive_timeout
一个交互连接在被服务器在关闭前等待行动的秒数。一个交互的客户被定义为对mysql_real_connect()使用CLIENT_INTERACTIVE 选项的客户。

默认数值是28800,可调优为7200。

2. 缓冲区变量

全局缓冲:

4) key_buffer_size
key_buffer_size指定索引缓冲区的大小,它决定索引处理的速度,尤其是索引读的速度。通过检查状态值Key_read_requests和Key_reads,可以知道key_buffer_size设置是否合理。比例key_reads / key_read_requests应该尽可能的低,至少是1:100,1:1000更好(上述状态值可以使用SHOW STATUS LIKE ‘key_read%’获得)。

key_buffer_size只对MyISAM表起作用。即使你不使用MyISAM表,但是内部的临时磁盘表是MyISAM表,也要使用该值。可以使用检查状态值created_tmp_disk_tables得知详情。

举例如下:

mysql> show variables like ‘key_buffer_size‘;

+——————-+————+

| Variable_name | Value |

+———————+————+

| key_buffer_size | 536870912 |

+———— ———-+————+

key_buffer_size为512MB,我们再看一下key_buffer_size的使用情况:

mysql> show global status like ‘key_read%‘;

+————————+————-+

| Variable_name  | Value |

+————————+————-+

| Key_read_requests| 27813678764 |

| Key_reads   | 6798830 |

+————————+————-+

一共有27813678764个索引读取请求,有6798830个请求在内存中没有找到直接从硬盘读取索引,计算索引未命中缓存的概率:

key_cache_miss_rate =Key_reads / Key_read_requests * 100%,设置在1/1000左右较好

默认配置数值是8388600(8M),主机有4GB内存,可以调优值为268435456(256MB)。

5) query_cache_size
使用查询缓冲,MySQL将查询结果存放在缓冲区中,今后对于同样的SELECT语句(区分大小写),将直接从缓冲区中读取结果。

通过检查状态值Qcache_*,可以知道query_cache_size设置是否合理(上述状态值可以使用SHOW STATUS LIKE ‘Qcache%’获得)。如果Qcache_lowmem_prunes的值非常大,则表明经常出现缓冲不够的情况,如果Qcache_hits的值也非常大,则表明查询缓冲使用非常频繁,此时需要增加缓冲大小;如果Qcache_hits的值不大,则表明你的查询重复率很低,这种情况下使用查询缓冲反而会影响效率,那么可以考虑不用查询缓冲。此外,在SELECT语句中加入SQL_NO_CACHE可以明确表示不使用查询缓冲。

与查询缓冲有关的参数还有query_cache_type、query_cache_limit、query_cache_min_res_unit。

query_cache_type指定是否使用查询缓冲,可以设置为0、1、2,该变量是SESSION级的变量。

query_cache_limit指定单个查询能够使用的缓冲区大小,缺省为1M。

query_cache_min_res_unit是在4.1版本以后引入的,它指定分配缓冲区空间的最小单位,缺省为4K。检查状态值Qcache_free_blocks,如果该值非常大,则表明缓冲区中碎片很多,这就表明查询结果都比较小,此时需要减小query_cache_min_res_unit。

举例如下:

mysql> show global status like ‘qcache%‘;

+——————————-+—————–+

| Variable_name | Value  |

+——————————-+—————–+

| Qcache_free_blocks  | 22756  |

| Qcache_free_memory  | 76764704 |

| Qcache_hits      | 213028692 |

| Qcache_inserts     | 208894227 |

| Qcache_lowmem_prunes | 4010916 |

| Qcache_not_cached | 13385031 |

| Qcache_queries_in_cache | 43560 |

| Qcache_total_blocks | 111212  |

+——————————-+—————–+

mysql> show variables like ‘query_cache%‘;

+————————————–+————–+

| Variable_name      | Value  |

+————————————–+———–+

| query_cache_limit      | 2097152 |

| query_cache_min_res_unit  | 4096   |

| query_cache_size      | 203423744 |

| query_cache_type      | ON  |

| query_cache_wlock_invalidate | OFF  |

+————————————–+—————+

查询缓存碎片率= Qcache_free_blocks / Qcache_total_blocks * 100%

如果查询缓存碎片率超过20%,可以用FLUSH QUERY CACHE整理缓存碎片,或者试试减小query_cache_min_res_unit,如果你的查询都是小数据量的话。

查询缓存利用率= (query_cache_size – Qcache_free_memory) / query_cache_size * 100%

查询缓存利用率在25%以下的话说明query_cache_size设置的过大,可适当减小;查询缓存利用率在80%以上而且Qcache_lowmem_prunes > 50的话说明query_cache_size可能有点小,要不就是碎片太多。

查询缓存命中率= (Qcache_hits – Qcache_inserts) / Qcache_hits * 100%

示例服务器查询缓存碎片率=20.46%,查询缓存利用率=62.26%,查询缓存命中率=1.94%,命中率很差,可能写操作比较频繁吧,而且可能有些碎片。

每个连接的缓冲

6) record_buffer_size
每个进行一个顺序扫描的线程为其扫描的每张表分配这个大小的一个缓冲区。如果你做很多顺序扫描,你可能想要增加该值。

默认数值是131072(128K),可改为16773120 (16M)

7) read_rnd_buffer_size
随机读缓冲区大小。当按任意顺序读取行时(例如,按照排序顺序),将分配一个随机读缓存区。进行排序查询时,MySQL会首先扫描一遍该缓冲,以避免磁盘搜索,提高查询速度,如果需要排序大量数据,可适当调高该值。但MySQL会为每个客户连接发放该缓冲空间,所以应尽量适当设置该值,以避免内存开销过大。

一般可设置为16M

8) sort_buffer_size
每个需要进行排序的线程分配该大小的一个缓冲区。增加这值加速ORDER BY或GROUP BY操作。

默认数值是2097144(2M),可改为16777208 (16M)。

9) join_buffer_size
联合查询操作所能使用的缓冲区大小

record_buffer_size,read_rnd_buffer_size,sort_buffer_size,join_buffer_size为每个线程独占,也就是说,如果有100个线程连接,则占用为16M*100

10) table_cache
表高速缓存的大小。每当MySQL访问一个表时,如果在表缓冲区中还有空间,该表就被打开并放入其中,这样可以更快地访问表内容。通过检查峰值时间的状态值Open_tables和Opened_tables,可以决定是否需要增加table_cache的值。如果你发现open_tables等于table_cache,并且opened_tables在不断增长,那么你就需要增加table_cache的值了(上述状态值可以使用SHOW STATUS LIKE ‘Open%tables’获得)。注意,不能盲目地把table_cache设置成很大的值。如果设置得太高,可能会造成文件描述符不足,从而造成性能不稳定或者连接失败。

1G内存机器,推荐值是128-256。内存在4GB左右的服务器该参数可设置为256M或384M。

11) max_heap_table_size
用户可以创建的内存表(memory table)的大小。这个值用来计算内存表的最大行数值。这个变量支持动态改变,即set @max_heap_table_size=#

这个变量和tmp_table_size一起限制了内部内存表的大小。如果某个内部heap(堆积)表大小超过tmp_table_size,MySQL可以根据需要自动将内存中的heap表改为基于硬盘的MyISAM表。

12) tmp_table_size
通过设置tmp_table_size选项来增加一张临时表的大小,例如做高级GROUP BY操作生成的临时表。如果调高该值,MySQL同时将增加heap表的大小,可达到提高联接查询速度的效果,建议尽量优化查询,要确保查询过程中生成的临时表在内存中,避免临时表过大导致生成基于硬盘的MyISAM表。

mysql> show global status like ‘created_tmp%‘;

+——————————–+———+

| Variable_name   | Value |

+———————————-+———+

| Created_tmp_disk_tables | 21197 |

| Created_tmp_files   | 58  |

| Created_tmp_tables  | 1771587 |

+——————————–+———–+

每次创建临时表,Created_tmp_tables增加,如果临时表大小超过tmp_table_size,则是在磁盘上创建临时表,Created_tmp_disk_tables也增加,Created_tmp_files表示MySQL服务创建的临时文件文件数,比较理想的配置是:

Created_tmp_disk_tables / Created_tmp_tables * 100%

默认为16M,可调到64-256最佳,线程独占,太大可能内存不够I/O堵塞

13) thread_cache_size
可以复用的保存在中的线程的数量。如果有,新的线程从缓存中取得,当断开连接的时候如果有空间,客户的线置在缓存中。如果有很多新的线程,为了提高性能可以这个变量值。

通过比较 Connections和Threads_created状态的变量,可以看到这个变量的作用。

默认值为110,可调优为80。

14) thread_concurrency
推荐设置为服务器 CPU核数的2倍,例如双核的CPU, 那么thread_concurrency的应该为4;2个双核的cpu, thread_concurrency的值应为8。默认为8

15) wait_timeout
指定一个请求的最大连接时间,对于4GB左右内存的服务器可以设置为5-10。

3. 配置InnoDB的几个变量

innodb_buffer_pool_size

对于InnoDB表来说,innodb_buffer_pool_size的作用就相当于key_buffer_size对于MyISAM表的作用一样。InnoDB使用该参数指定大小的内存来缓冲数据和索引。对于单独的MySQL数据库服务器,最大可以把该值设置成物理内存的80%。

根据MySQL手册,对于2G内存的机器,推荐值是1G(50%)。

innodb_flush_log_at_trx_commit

主要控制了innodb将log buffer中的数据写入日志文件并flush磁盘的时间点,取值分别为0、1、2三个。0,表示当事务提交时,不做日志写入操作,而是每秒钟将log buffer中的数据写入日志文件并flush磁盘一次;1,则在每秒钟或是每次事物的提交都会引起日志文件写入、flush磁盘的操作,确保了事务的ACID;设置为2,每次事务提交引起写入日志文件的动作,但每秒钟完成一次flush磁盘操作。

实际测试发现,该值对插入数据的速度影响非常大,设置为2时插入10000条记录只需要2秒,设置为0时只需要1秒,而设置为1时则需要229秒。因此,MySQL手册也建议尽量将插入操作合并成一个事务,这样可以大幅提高速度。

根据MySQL手册,在允许丢失最近部分事务的危险的前提下,可以把该值设为0或2。

innodb_log_buffer_size

log缓存大小,一般为1-8M,默认为1M,对于较大的事务,可以增大缓存大小。

可设置为4M或8M。

innodb_additional_mem_pool_size

该参数指定InnoDB用来存储数据字典和其他内部数据结构的内存池大小。缺省值是1M。通常不用太大,只要够用就行,应该与表结构的复杂度有关系。如果不够用,MySQL会在错误日志中写入一条警告信息。

根据MySQL手册,对于2G内存的机器,推荐值是20M,可适当增加。

innodb_thread_concurrency=8

推荐设置为 2*(NumCPUs+NumDisks),默认一般为8

服务器及电脑开机无反应主要解决方法及思路分析

2014年3月30日 没有评论

故障现象一:打开电源,按下开机按钮后,电脑无任何动静。

分析:此时电源应向主板和各硬件供电,无任何动静说明是供电部分出了问题。(包括主板电源部分)

检查思路和方法:

1、市电电源问题,请检查电源插座是否正常,电源线是否正常。

2、机箱电源问题,请检查是否有5伏待机电压,主板与电源之间的连线是否松动,如果不会测量电压可以找个电源调换一下试试。

3、主板问题,如果上述两个都没有问题,那么主板故障的可能性就比较大了。首先检查主板和开机按钮的连线有无松动,开关是否正常。可以将开关用电线短接一下试试。如不行,只有更换一块主板试试了。(注意:应尽量找型号相同或同一芯片组的板子,因为别的主板可能不支持你的CPU和内存)

故障现象二:按下开机按钮,风扇转动,但显示器无图象,电脑无法进入正常工作状态。

分析:风扇转动说明电源已开始供电,显示器无图象,电脑无法进入正常工作状态说明电脑未通过系统自检,主板BIOS设定还没输出到显示器,故障应出在主板,显卡和内存上。但有时劣质电源和显示器损坏也会引起此故障。

检查思路和方法:

1、如果有报警声,说明自检出了问题。报警声是由主板上的BIOS设定的。BIOS有两种,分别为AMI和AWARD。大多数主板都是采用AWARD的BIOS。

AWARD的BIOS设定为:
长声不断响:内存条未插紧。
一短:系统正常启动。
两短:CMOS设置错误,需重新设置。
一长一短:内存或主板错误。
一长两短:显示器或显卡错误。
一长三短:键盘控制器错误。
一长九短:主板BIOS的FLASH RAM或EPROM错误。

AMI的BIOS设定为:
一短:内存刷新故障。
两短:内存ECC校验错误。
三短:系统基本内存检查失败。
四短:系统时钟出错。
五短:CPU出现错误。
六短:键盘控制器错误。
七短:系统实模式错误。
八短:显示内存错误。
九短:BIOS芯片检验错误。
一长三短:内存错误。
一长八短:显示器数据线或显卡未插好。

2、如果没有报警声,可能是喇叭坏了,请按下列步骤进行。

A、检查内存,将内存取出用橡皮将插脚擦干净,换个插槽插实试机。如果有两根以上的内存共用的,请只用一根内存试机。

B、检查显卡,检查显卡是否插实,取出后用橡皮将插脚擦干净安装到位后再试机。然后将显卡与显示器连线拔掉再试机,看是否进入下一步自检。如有可能更换一个显卡试试。

C、检查主板,首先将主板取出放在一个绝缘的平面上(如书或玻璃),因为有时机箱变形会造成主板插槽与板卡接触不良。检查主板各插槽是否有异物,插齿有没有氧化变色,如果你发现其中的一两个插齿和其他的插齿颜色不一样,那肯定是氧化或灰尘所致,请用小刀将插齿表面刮出本色,再插上板卡后试机。然后检查主板和按钮之间的连线是否正常,特别是热启动按钮。最后,用放电法将BIOS重置试试。方法是将主板上的钮扣电池取下来,等五分钟后再装上,或直接将电池反装上两秒钟再重新装好,然后试机看是否正常。如果有条件更换一块主板试试。
D、检查CPU,如果是CPU超频引起的故障,那么上面将BIOS重置应该会解决这个问题,如果没超频那么检查风扇是否正常,实在不行更换CPU试一下。

E、电源不好也会出现这种现象,有条件更换电源试试。

F、如果上边讲的方法无法解决问题,请将除CPU,主板,电源,内存,显卡之外的硬件全部拔下,然后试机看是否正常。如果正常,在排除电源和主板出现问题的可能性之后,用下面故障现象四的方法解决。如果试机不正常,那么将这几个元件分别更换试试。

故障现象三:开机后,显示器无图像,但机器读硬盘,通过声音判断,机器已进入操作系统。

分析:这一现象说明主机正常,问题出在显示器和显卡上。

检查思路和方法:检查显示器和显卡的连线是否正常,接头是否正常。如有条件,更换显卡和显示器试试。

故障现象四:开机后已显示显卡和主板信息,但自检过程进行到某一硬件时停止。

分析:显示主板和显卡信息说明内部自检已通过,主板,CPU,内存,显卡,显示器应该都已正常(但主板BIOS设置不当,内存质量差,电源不稳定也会造成这种现象)。问题出在其他硬件的可能性比较大。(一般来说,硬件坏了BIOS自检只是找不到,但还可以进行下一步自检,如果是因为硬件的原因停止自检,说明故障比较严重,硬件线路可能出了问题)。

检查思路和方法:

1、解决主板BIOS设置不当可以用放电法,或进入BIOS修改,或重置为出厂设置(查阅主板说明书就会找到步骤)。关于修改方面有一点要注意,BIOS设置中,键盘和鼠标报警项如设置为出现故障就停止自检,那么键盘和鼠标坏了就会出现这种现象。

2、如果能看懂自检过程,那么一般来说,BIOS自检到某个硬件时停止工作,那么这个硬件出故障的可能性非常大,可以将这个硬件的电源线和信号线拔下来,开机看是否能进入下一步自检,如可以,那么就是这个硬件的问题。

3、如果看不懂自检过程,请将软驱,硬盘,光驱的电源线和信号线全部拔下来,将声卡,调制解调器,网卡等板卡全部拔下(显卡内存除外)。将打印机,扫描仪等外置设备全部断开,然后按硬盘,软驱,光驱,板卡,外置设备的顺序重新安装,安装好一个硬件就开机试,当接至某一硬件出问题时,就可判定是它引起的故障。
故障现象五:通过自检,但无法进入操作系统。

分析:这种现象说明是找不到引导文件,如果不是硬盘出了问题就是操作系统坏了。

检查思路和方法:

1、检查系统自检时是否找到硬盘,如看不懂自检可以用启动盘重试,放入带光牒启动的光盘或启动软盘,将BIOS内设置改为由光驱(软驱)引导。重新开机进入A盘后,打入“C:”回车
2、如能进入C盘,说明操作系统出问题。重新安装操作系统;
3、如不能进入C盘,说明硬盘或者分区表损坏。用分区软件判断是否可以分区,如不可以分区说明硬盘坏了,反之是分区表损坏。重新分区可以解决故障。

故障现象六:进入操作系统后不久死机。

分析:进入操作系统后死机的原因很多,这里只探讨硬件问题,从硬件方面考虑。问题应出在内存、电源、CPU、和各个硬件的散热这几个方面。

检查思路和方法:

1、打开机箱,观察显卡,CPU电源的风扇是否都正常转动,散热片上是否灰尘较多,机箱内是否较脏(如果清理灰尘一定要停电进行)。用手摸硬盘是否较热,正常状态比手微热。如果烫手,可以确定硬盘有问题。

2、如CPU超频,请降频使用。

3、电源,内存和主板质量不好引起的故障只能通过分别调换后试机来确定。
系统打开了以后 风扇有转动 灯也亮了 就是显示屏没显示出来 显示屏的 灯也还是跟没开机一样 一闪一闪的 怎么办
先把主机后面的插上去的线全部拔掉,
按开机按钮15下,这样做是给主机放静电,有时候天气变化会有静电引起这问题。
把那些线头按原来的样子插回去,开机看看是不是正常,如果还不行,接着往下看。

再从硬件着手:
1拔掉电源,
2拆开机箱,
3压一压插在主板上的内存和卡片
4注意看一下主板的电容是不是有爆浆的现象--有的话就要送修了
5开机看看,如果正常的话,就用吧!还不正常,那么送修吧

如何培养网站权重

2013年10月17日 没有评论

虽然百度权重并非出自百度,但还是备受站长朋友们的亲睐,尤其是在交换友情链接的时候,权重的高低尤其重要,权重1的网站想要换到一个权重3的那是相当的困难

 聊如何培养网站权重。  什么是百度权重?  百度权重并非百度给出的,而是chinaz、爱站等第三方网站给出的一个数值,这个数值是依据百度流量来判断的,而决定百度流量的是网站有指数的关键词的排名。工具的不同,给出的数值也不一样,这也是为什么相同的网站,在分别在chinaz和爱站这两个网站查询的结果会有很大的出入。
如何培养网站权重(常规手段)
1、提升网站的核心关键词排名  网站的核心关键词一般都是竞争比较大,指数比较高的词语,这类的词语是我们优化的重点,然而这样的词语优化起来比较困难,常规手段短期内很难看到效果,不过这样的词一旦做起来对网站网站的权重的提升效果的非常明显的,如果一个指数1000的能做到第一位,那么这个词带来的流量大约能有700多,这样一个词就能将网站的权重提升到3。
2、提升网站内页关键词的排名来提升网站权重  很多朋友在网站优化的时候也会比较注重网站的内页关键词的优化,一般都是按照我们的长尾词策略来执行,其实,如果内页关键词做的比较不错的话,也能为网站带来权重的提升,虽然单个的词语带来的效果有限,但是架不住我们量大,如果刻意去寻找一些比较不错的有指数的长尾词去刻意优化,那么很容易通过内容带来权重的提升。
我公司网站的部分通过文章页得到的有指数的关键词的排名,其实这样的词做起来是相当的简单,基本上不用花费很多的工夫,而且见效比较快,通常情况下,3~5天就能初见成效。如果能够长期坚持下来,那么网站的权重的提升空间是很客观的。  如何培养网站权重(非常规手段)  其实权重的算法存在很大的漏洞,既然权重是根据有指数的关键词来排名来计算的,那么我们可以这样来操作,一个正常优化的网站,品牌词的优化一般都是在前几的,我们只需要利用软件把我们的品牌词的指数给刷上去,这样,就能快速的让网站权重得到很大的提升。  写在最后:百度权重需要慢慢培养,虽然百度权重具有一定的参考价值,但也不必过于纠结,网站权重的高低并不决定了网站的真实流量。前段时间我朋友的一个网站的百度流量1000多,百度权重也达到了4,但是每天的真是流量其实并不高,一般也就在100个IP左右。以上内容仅为个人观点,有不同意见欢迎给我留言。
分类: 搜索&seo 标签: , , ,

网站做301重定向重要性分析

2013年10月13日 没有评论

对于不太理解301重定向概念的朋友,我这里简单介绍一下。重定向说白了就是通过各种的方法将各种网络请求重新定个方向转到其它位置。如:网页中的重定向,你访问淘一淘返利网域名。

那它具体讲有什么用处呢?如果您需要按搜索引擎结果中所显示的样式更改网页网址,建议您使用服务器端301 重定向。这是确保用户及搜索引擎定向至正确网页的最佳方法。301 状态代码表示某网页已被永久迁移至新位置。另外301 重定向功能在以下情况下尤为有用:

1、您已将网站移至新域,希望尽可能顺畅地完成这一转换。

2、人们通过不同网址访问您的网站。例如,如果可通过多种方式访问您的主页,如 www.xxx.com/、或www.xxx.com,那么,选择其中一个作为首选的(标准)目标网址,并通过301 重定向将来自其他网址的流量发送到该首选网址,不失为一种很好的方法。

3、您正在合并两个网站,希望确保指向过期网址的链接重定向至正确网页。

以下是收集整理的相关代码,可能对你很有用。

PHP下的301重定向

www.xxx.comr(“HTTP/1.1 301 Moved Permanently”);

www.xxx.com/”);

exit();

ASP下的301重定向

Reswww.xxx.comus=”301 Moved Permanently”

Reswww.xxx.comr “Locawww.dnsff.com/”

Reswww.xxx.comd

ASP .NET下的301重定向

Reswww.xxx.comus = “301 Moved Permanenwww.xxx.com

Reswww.xxx.com

那做了重定向后,还要注意什么问题呢?

1.若准备将服务器上的文件移到其它地方时,须就以下信息正确地通知搜索引擎的爬行程序:

- 目标地址:这些文件被移向何方

- 移动属性:暂时移走还是永久性移走

2.对拥有多个域名的网站,建议应把那些不想在搜索引擎上推广的域名用301跳转命令来永久性重定向。

以也下是一个多域名站主的经验之谈:

“我只有一个网站,主域名是www.xxx.comss文件来实现重定向。

我采用了如下步骤:

A.把domain1.com从domain.com上独立出来,让它成为服务器上的一个普通独立网站。

B.为domain1.com创建一个.www.xxx.comss文本文件,并在文件中设置重定向代码为:Redirect www.xxx.com / www.xxx.com/ 再将修改后的.www.xxx.com所在服务器。这一步也可以在域名控制面板中完成。

C.进入域名控制面板,将所有原来绑定到domain.com上的域名从domain.com上释放,然后重新绑定到doamin1.com。这样一来,这些被绑定的域名使用的都是domain1.com的.www.dnsff.com上了。

301重定向也许只是一个很小的问题,但可想而知没有做这个工作的话,对你网站影响也不小的,特别是首页权重分散后,对排名影响很大。近来笔者对建站之窗网站进行了调整,百度权重很快就提升不少,相关的关键词也上升了好几位。希望各位站长重视。好了,今天说到这里,每天写一篇原创已经很不容易了。

分类: 搜索&seo 标签: , ,

这样设置可以提高Gmail打开速度

2013年10月7日 没有评论

Gmail的开网速度照旧令人遗憾,我常常盯着网页上那恍如蚂蚁般爬行的进度条,老半天后出来个“找不到办事器”,那才叫气人。

假如有哪位童鞋也碰到与我异样的际遇,那或许尝尝我今日介绍的这个举措,经由多番测试,这个举措的确或许大大进步Gmail的掀开速度。

Gmail掀开时默认的视图是:规范。但针对网速慢的用户,Gmail还供应了另一个视图:基本 HTML。

关于“规范视图”和“基本 HTML 视图”,Google急救里是何等说的:

规范视图是在从彻底支持的阅读器登录到 Gmail 时所看到的视图。

假如您无奈操作彻底支持的阅读器,我们照旧巴望您或许访问 Gmail,于是,我们开发了基本 HTML 视图,它简直能与全数阅读器兼容。假如您在登录 Gmail 时操作的不是彻底支持的阅读器,您会被踊跃定向到基本 HTML 视图。

基本 HTML 视图与您习惯的视图有所差别,由于它不支持如下遵从:

* 聊天
* 拼写搜查
* 键盘快速键
* 筹划过滤器
* 削减、编辑、导入或删除联系人
* 自定义“发件人:”地点
* RTF 格局

要操作这些遵从,请经由彻底支持的阅读器登录 Gmail,并确保您启用了 Cookie 和 JavaScript。

假如您被定向到 Gmail 的基本 HTML 视图,但仍想测验考试操作规范 Gmail 视图,请访问 http://mail.google.com/mail?nocheckbrowser。请留神,假如您的阅读器不受支持,即使访问此链接,也大约无奈操作规范视图。

“规范视图”和“基本 HTML 视图”的切换

要切换“规范视图”和“基本 HTML 视图”,操作起来很复杂,我们看到Gmail邮箱的页尾处,有个切换链接,以下图:

本文由运维部落所发表转载请保留

分类: 解决方案 标签: , , ,

centos下两种方法安装git

2013年7月23日 没有评论

今天下个包需要使用git,网上找了下看到大多数只有编译安装,并且编译安装还有错,不知道他们也没有实验过,这里我来给大家介绍下编译安装和yum安装git.
系统:centos 5.5
需要的软件包:git-latest.tar.gz epel-release-5-4.noarch.rpm

1.先给大家说下编译安装方法,安装前准备
yum -y install zlib-devel openssl-devel perl cpio expat-devel gettext-devel openssl zlib curl autoconf tk
wget http://git-core.googlecode.com/files/git-1.7.10.tar.gz

2.安装git
tar zxf git-latest.tar.gz
cd git-{date} 我这里是git-2012-04-17的版本,所以我的命令是cd git-2012-04-17/
autoconf
./configure
make
make install
make和make install在这里最好分开执行,免得有错不知道.
git –version
git version 1.7.10
好了,下面来介绍怎么yum安装,其实yum安装很简单.

1.yum安装git前准备,我的系统是centos5的
wget -P /etc/yum.repos.d/ http://geekery.altervista.org/geekery-el5-i386.repo
wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.i386.rpm
rpm -ivh rpmforge-release-0.5.2-2.el5.rf.i386.rpm
epel-release只能在http://rpm.pbone.net/上找了。
给一个可用的下载址的:
wget dl.iuscommunity.org/pub/ius/stable/CentOS/5/i386/epel-release-5-4.noarch.rpm
rpm -ivh epel-release-5-4.noarch.rpm
2.开始使用yum安装git
yum -y install git
git –version
git version 1.7.10
这个yum安装的git也是1.7.10.

centos 6系统可以参考这个地址:http://geekery.altervista.org/dokuwiki/doku.php

分类: Linux 标签: , , , ,

nginx列出目录及对目录进行密码保护

2013年7月1日 没有评论

1、如何让nginx列目录
在对应的网站配置段中,加入:

1
2
3
4
5
6
7
location /_files
{
    root /home/wwwroot;
    autoindex on;
    autoindex_exact_size off;
    autoindex_localtime on;
}

解释一下:
root是指当前的网站根文件夹,例子中列出的根目录其实是/home/wwwroot/_files目录,如果不填则沿用上层的root配置;
autoindex是是否对该location匹配的目录在找不到索引文件(index.html、index.php等)时,列出目录,默认为off;
autoindex_exact_size是是否输出准确的大小,如果on则输出byte单位的大小,off则用GB、MB、KB来近似表示,默认为on;
autoindex_localtime是否以服务器时间输出文件时间,off则用GMT时间输出,默认为off。
参考:http://wiki.nginx.org/HttpAutoindexModule
2、对目录进行密码保护:
在对应目录的location中加入:

1
2
3
4
5
location /phpmyadmin
{
    auth_basic "Creke Server Auth";
    auth_basic_user_file /usr/local/nginx/conf/htpasswd;
}

其中auth_basic是验证时显示的标题,auth_basic_user_file是对应的用户名密码,一行一个,与apache的“.htpasswd”一样。
参考:http://wiki.nginx.org/HttpAuthBasicModule
最后,给出一个使用perl生成htpasswd中认证用户名密码的脚本,方便生成:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
 
echo "====================================="
echo "# A tool like htpasswd for Nginx    #"
echo "#-----------------------------------#"
echo "# MOD BY Creke                      #"
echo "====================================="
 
#set UserName
 
username=""
read -p "Please input UserName:" username
if [ "$username" = "" ]; then
echo "Error:UserName can't be NULL!"
exit 1
fi
echo "==========================="
echo "UserName was: $username"
echo "==========================="
 
#set password
 
unpassword=""
read -p "Please input the Password:" unpassword
if [ "$unpassword" = "" ]; then
echo "Error:Password can't be NULL!"
exit 1
fi
echo "==========================="
echo "Password was: $unpassword"
echo "==========================="
password=$(perl -e 'print crypt($ARGV[0], "pwdsalt")' $unpassword)
 
echo "$username:$password"

WordPress为关键字自动添加链接

2013年6月2日 没有评论

锚文本链接在网站优化中有很重要的作用,WoredPress可通过添加函数设置特定关键字自动添加链接。

1
2
3
4
5
6
7
8
9
function replace_text_wps($text){
$replace = array(
 'VPS12.com' =&gt; '<a href="http://www.vps12.com/" rel="home">VPS12.com</a>',
 'VPS' =&gt; '<a href="http://www.vps12.com/" rel="home">VPS12.com</a>'
 );
$text = str_replace(array_keys($replace), $replace, $text);
 return $text;
}
add_filter('the_content', 'replace_text_wps');