• 关于 定向重试如何安装 的搜索结果

问题

Windows2012部署IIS-PHP环境

西秦说云 2019-12-01 21:01:28 13368 浏览量 回答数 4

问题

【春招必备】初级程序员必备Linux面试题

黄一刀 2020-03-12 19:15:24 7487 浏览量 回答数 4

问题

程序员报错行为大赏-配置报错

问问小秘 2020-06-11 13:18:25 6 浏览量 回答数 1

拒绝“不安全”网站标签

精选SSL证书,2年仅需567元

回答

你的难点在于Discuz是否可以向外开放用户认证接口,以及接口规范是啥。 这两个基础都没有,也就谈不到Gitlab接入的问题。 ######回复 @DuLerWeil : 现在一个网站用的是PHP,一个是Ruby,虽然都是用Nginx,能共存吗?######回复 @maya8maya85 : 程序咋部署无所谓,哪怕你把所有东西都装一台笔记本上。######回复 @DuLerWeil : 如果GitLab开放注册,那GitLab注册的帐号又要同步到Dz上,也是一大难题,现在简单点,单向同步,只把Dz的帐号同步过去,先搞定这个吧。你说这个oauth2服务器是又要开一个新的CentOS,还是放在旧的服务器上?######回复 @maya8maya85 : Gitlab可以开放注册啊。 关于Dz和Gitlab对接的问题,估计你是找不到现成的解决方案了。 鉴于OAuth2协议本身很简单,你可以研究Dz的用户表结构(特别是密码加盐算法之类的),然后基于表结构单独写个OAuth2服务器供Gitlab对接用。######GitLab不接受注册,只能在Dz注册再使用GitLab。我觉得这个好难,而且它们不在同一个服务器上,语言什么都不一样。有什么方法或者方向让我知道,我一步该怎么处理呢?###### Discuz应该是有个UCenter类似单点登录的,但很明显gitlab不会支持UCenter的协议。 楼主需要研究两个东西 UCenter的协议 ruby rails 然后参考我这篇文章:http://leo108.com/pid-2138.asp ######回复 @leo108 : 还有clone下来的omniauth如何安装?######回复 @leo108 : 这是通过套装安装的Gitlab######回复 @leo108 : 3,omniauth_allow_single_sign_on = true?默认是这”['saml']“,是bool值吗?######回复 @leo108 : 2,gitlab的config/initializers/devise.rb同样没有找到,/var,/opt都没有找到。######回复 @leo108 : 1,写好的mystrategy.rb放在哪里?根据你的指引一篇老外文章是放在"lib/strategies/mystrategy.rb",但根本没有"lib/strategies"这个目录。请问具体放在哪里?######这个要自己搞吧 没搞过 帮不上忙###### @maya8maya85  strategy.rb放/opt/gitlab/embedded/service/gitlab-rails/lib/omni_auth/strategies/ config/initializers/devise.rb在/opt/gitlab/embedded/service/gitlab-rails/config/initializers/devise.rb 至于omniauth_allow_single_sign_on,using an array, e.g. ["saml", "twitter"], or as true/false to allow all providers or none. clone安装的我没试过,不清楚 ######回复 @leo108 : C,最后一个就是这个strategy.rb这文件的文件名,好像除了写文件的时候出现了一下,其它地方从来都没看到它的名字,名字没关系吗?成功引用了吗?######回复 @leo108 : B,你那文章中的指明加载路径那段代码,是加在文件config/initializers/devise.rb那里,我加在最后,现在我不知道对不对?反正现在是502,是有个地方错了。######回复 @leo108 : A,这lib/omni_auth目录是没有strategies文件夹的,你的意思是新建文件夹放rb进去吗?######回复 @leo108 : 还有三个地方想请你指导一下。######回复 @maya8maya85 : gitlab本身已经集成了omniauth了,不需要你再装啊###### @leo108 ###### A. 新建文件夹 B.是真正的最后,在原本最下面的end那行下面 C.其实就是B里面的最后一个,也就是uco.rb ######回复 @leo108 : 调了几天都没成功,一错就是502,也不提示说有什么错误,不好调。。你那文章是没有发布gem的处理,如果是发布的gem,你会装吗?像安装个douban或者weibo什么的,能帮我装一下吗?大神,我按gitlab的文档也没成功######回复 @leo108 : 我比你更生手呢######回复 @maya8maya85 : 我对ruby也不熟,502的话应该是有ror的报错,具体日志路径在哪忘记了,你可以看看问题出在哪里######如果方便的话,我提供服务器相关密码,请你帮助一下,只要能调试到能重定向百度就ok.######特意抽出时间写了一天,按照你的文章指示,由于对语法不了解,我逐行调试,重编译,发现新写的uco.rb文件只要出现module就会502,不解。我安装的是8.10. devise.rb更是一加就502。不解,你的gitlab是什么版本?

kun坤 2020-06-14 11:44:53 0 浏览量 回答数 0

回答

你的难点在于Discuz是否可以向外开放用户认证接口,以及接口规范是啥。 这两个基础都没有,也就谈不到Gitlab接入的问题。 ######回复 @DuLerWeil : 现在一个网站用的是PHP,一个是Ruby,虽然都是用Nginx,能共存吗?######回复 @maya8maya85 : 程序咋部署无所谓,哪怕你把所有东西都装一台笔记本上。######回复 @DuLerWeil : 如果GitLab开放注册,那GitLab注册的帐号又要同步到Dz上,也是一大难题,现在简单点,单向同步,只把Dz的帐号同步过去,先搞定这个吧。你说这个oauth2服务器是又要开一个新的CentOS,还是放在旧的服务器上?######回复 @maya8maya85 : Gitlab可以开放注册啊。 关于Dz和Gitlab对接的问题,估计你是找不到现成的解决方案了。 鉴于OAuth2协议本身很简单,你可以研究Dz的用户表结构(特别是密码加盐算法之类的),然后基于表结构单独写个OAuth2服务器供Gitlab对接用。######GitLab不接受注册,只能在Dz注册再使用GitLab。我觉得这个好难,而且它们不在同一个服务器上,语言什么都不一样。有什么方法或者方向让我知道,我一步该怎么处理呢?###### Discuz应该是有个UCenter类似单点登录的,但很明显gitlab不会支持UCenter的协议。 楼主需要研究两个东西 UCenter的协议 ruby rails 然后参考我这篇文章:http://leo108.com/pid-2138.asp ######回复 @leo108 : 还有clone下来的omniauth如何安装?######回复 @leo108 : 这是通过套装安装的Gitlab######回复 @leo108 : 3,omniauth_allow_single_sign_on = true?默认是这”['saml']“,是bool值吗?######回复 @leo108 : 2,gitlab的config/initializers/devise.rb同样没有找到,/var,/opt都没有找到。######回复 @leo108 : 1,写好的mystrategy.rb放在哪里?根据你的指引一篇老外文章是放在"lib/strategies/mystrategy.rb",但根本没有"lib/strategies"这个目录。请问具体放在哪里?######这个要自己搞吧 没搞过 帮不上忙###### @maya8maya85  strategy.rb放/opt/gitlab/embedded/service/gitlab-rails/lib/omni_auth/strategies/ config/initializers/devise.rb在/opt/gitlab/embedded/service/gitlab-rails/config/initializers/devise.rb 至于omniauth_allow_single_sign_on,using an array, e.g. ["saml", "twitter"], or as true/false to allow all providers or none. clone安装的我没试过,不清楚 ######回复 @leo108 : C,最后一个就是这个strategy.rb这文件的文件名,好像除了写文件的时候出现了一下,其它地方从来都没看到它的名字,名字没关系吗?成功引用了吗?######回复 @leo108 : B,你那文章中的指明加载路径那段代码,是加在文件config/initializers/devise.rb那里,我加在最后,现在我不知道对不对?反正现在是502,是有个地方错了。######回复 @leo108 : A,这lib/omni_auth目录是没有strategies文件夹的,你的意思是新建文件夹放rb进去吗?######回复 @leo108 : 还有三个地方想请你指导一下。######回复 @maya8maya85 : gitlab本身已经集成了omniauth了,不需要你再装啊###### @leo108 ###### A. 新建文件夹 B.是真正的最后,在原本最下面的end那行下面 C.其实就是B里面的最后一个,也就是uco.rb ######回复 @leo108 : 调了几天都没成功,一错就是502,也不提示说有什么错误,不好调。。你那文章是没有发布gem的处理,如果是发布的gem,你会装吗?像安装个douban或者weibo什么的,能帮我装一下吗?大神,我按gitlab的文档也没成功######回复 @leo108 : 我比你更生手呢######回复 @maya8maya85 : 我对ruby也不熟,502的话应该是有ror的报错,具体日志路径在哪忘记了,你可以看看问题出在哪里######如果方便的话,我提供服务器相关密码,请你帮助一下,只要能调试到能重定向百度就ok.######特意抽出时间写了一天,按照你的文章指示,由于对语法不了解,我逐行调试,重编译,发现新写的uco.rb文件只要出现module就会502,不解。我安装的是8.10. devise.rb更是一加就502。不解,你的gitlab是什么版本?

kun坤 2020-06-01 11:10:31 0 浏览量 回答数 0

回答

" 你的难点在于<span style=""font-family:"font-size:14px;line-height:22px;background-color:#FFFFFF;"">Discuz是否可以向外开放用户认证接口,以及接口规范是啥。 这两个基础都没有,也就谈不到Gitlab接入的问题。 ######回复 @DuLerWeil : 现在一个网站用的是PHP,一个是Ruby,虽然都是用Nginx,能共存吗?######回复 @maya8maya85 : 程序咋部署无所谓,哪怕你把所有东西都装一台笔记本上。######回复 @DuLerWeil : 如果GitLab开放注册,那GitLab注册的帐号又要同步到Dz上,也是一大难题,现在简单点,单向同步,只把Dz的帐号同步过去,先搞定这个吧。你说这个oauth2服务器是又要开一个新的CentOS,还是放在旧的服务器上?######回复 @maya8maya85 : Gitlab可以开放注册啊。 关于Dz和Gitlab对接的问题,估计你是找不到现成的解决方案了。 鉴于OAuth2协议本身很简单,你可以研究Dz的用户表结构(特别是密码加盐算法之类的),然后基于表结构单独写个OAuth2服务器供Gitlab对接用。######GitLab不接受注册,只能在Dz注册再使用GitLab。我觉得这个好难,而且它们不在同一个服务器上,语言什么都不一样。有什么方法或者方向让我知道,我一步该怎么处理呢?###### Discuz应该是有个UCenter类似单点登录的,但很明显gitlab不会支持UCenter的协议。 楼主需要研究两个东西 UCenter的协议 ruby rails 然后参考我这篇文章:http://leo108.com/pid-2138.asp ######回复 @leo108 : 还有clone下来的omniauth如何安装?######回复 @leo108 : 这是通过套装安装的Gitlab######回复 @leo108 : 3,omniauth_allow_single_sign_on = true?默认是这”['saml']“,是bool值吗?######回复 @leo108 : 2,gitlab的config/initializers/devise.rb同样没有找到,/var,/opt都没有找到。######回复 @leo108 : 1,写好的mystrategy.rb放在哪里?根据你的指引一篇老外文章是放在"lib/strategies/mystrategy.rb",但根本没有"lib/strategies"这个目录。请问具体放在哪里?######这个要自己搞吧 没搞过 帮不上忙###### @maya8maya85  strategy.rb放/opt/gitlab/embedded/service/gitlab-rails/lib/omni_auth/strategies/ config/initializers/devise.rb在/opt/gitlab/embedded/service/gitlab-rails/config/initializers/devise.rb 至于omniauth_allow_single_sign_on,using an array, e.g. ["saml", "twitter"], or as true/false to allow all providers or none. clone安装的我没试过,不清楚 ######回复 @leo108 : C,最后一个就是这个strategy.rb这文件的文件名,好像除了写文件的时候出现了一下,其它地方从来都没看到它的名字,名字没关系吗?成功引用了吗?######回复 @leo108 : B,你那文章中的指明加载路径那段代码,是加在文件config/initializers/devise.rb那里,我加在最后,现在我不知道对不对?反正现在是502,是有个地方错了。######回复 @leo108 : A,这lib/omni_auth目录是没有strategies文件夹的,你的意思是新建文件夹放rb进去吗?######回复 @leo108 : 还有三个地方想请你指导一下。######回复 @maya8maya85 : gitlab本身已经集成了omniauth了,不需要你再装啊###### @leo108 ###### A. 新建文件夹 B.是真正的最后,在原本最下面的end那行下面 C.其实就是B里面的最后一个,也就是uco.rb ######回复 @leo108 : 调了几天都没成功,一错就是502,也不提示说有什么错误,不好调。。你那文章是没有发布gem的处理,如果是发布的gem,你会装吗?像安装个douban或者weibo什么的,能帮我装一下吗?大神,我按gitlab的文档也没成功######回复 @leo108 : 我比你更生手呢######回复 @maya8maya85 : 我对ruby也不熟,502的话应该是有ror的报错,具体日志路径在哪忘记了,你可以看看问题出在哪里######如果方便的话,我提供服务器相关密码,请你帮助一下,只要能调试到能重定向百度就ok.######特意抽出时间写了一天,按照你的文章指示,由于对语法不了解,我逐行调试,重编译,发现新写的uco.rb文件只要出现module就会502,不解。我安装的是8.10. devise.rb更是一加就502。不解,你的gitlab是什么版本?"

montos 2020-06-03 15:13:03 0 浏览量 回答数 0

回答

" 你的难点在于<span style=""font-family:"font-size:14px;line-height:22px;background-color:#FFFFFF;"">Discuz是否可以向外开放用户认证接口,以及接口规范是啥。 这两个基础都没有,也就谈不到Gitlab接入的问题。 ######回复 @DuLerWeil : 现在一个网站用的是PHP,一个是Ruby,虽然都是用Nginx,能共存吗?######回复 @maya8maya85 : 程序咋部署无所谓,哪怕你把所有东西都装一台笔记本上。######回复 @DuLerWeil : 如果GitLab开放注册,那GitLab注册的帐号又要同步到Dz上,也是一大难题,现在简单点,单向同步,只把Dz的帐号同步过去,先搞定这个吧。你说这个oauth2服务器是又要开一个新的CentOS,还是放在旧的服务器上?######回复 @maya8maya85 : Gitlab可以开放注册啊。 关于Dz和Gitlab对接的问题,估计你是找不到现成的解决方案了。 鉴于OAuth2协议本身很简单,你可以研究Dz的用户表结构(特别是密码加盐算法之类的),然后基于表结构单独写个OAuth2服务器供Gitlab对接用。######GitLab不接受注册,只能在Dz注册再使用GitLab。我觉得这个好难,而且它们不在同一个服务器上,语言什么都不一样。有什么方法或者方向让我知道,我一步该怎么处理呢?###### Discuz应该是有个UCenter类似单点登录的,但很明显gitlab不会支持UCenter的协议。 楼主需要研究两个东西 UCenter的协议 ruby rails 然后参考我这篇文章:http://leo108.com/pid-2138.asp ######回复 @leo108 : 还有clone下来的omniauth如何安装?######回复 @leo108 : 这是通过套装安装的Gitlab######回复 @leo108 : 3,omniauth_allow_single_sign_on = true?默认是这”['saml']“,是bool值吗?######回复 @leo108 : 2,gitlab的config/initializers/devise.rb同样没有找到,/var,/opt都没有找到。######回复 @leo108 : 1,写好的mystrategy.rb放在哪里?根据你的指引一篇老外文章是放在"lib/strategies/mystrategy.rb",但根本没有"lib/strategies"这个目录。请问具体放在哪里?######这个要自己搞吧 没搞过 帮不上忙###### @maya8maya85  strategy.rb放/opt/gitlab/embedded/service/gitlab-rails/lib/omni_auth/strategies/ config/initializers/devise.rb在/opt/gitlab/embedded/service/gitlab-rails/config/initializers/devise.rb 至于omniauth_allow_single_sign_on,using an array, e.g. ["saml", "twitter"], or as true/false to allow all providers or none. clone安装的我没试过,不清楚 ######回复 @leo108 : C,最后一个就是这个strategy.rb这文件的文件名,好像除了写文件的时候出现了一下,其它地方从来都没看到它的名字,名字没关系吗?成功引用了吗?######回复 @leo108 : B,你那文章中的指明加载路径那段代码,是加在文件config/initializers/devise.rb那里,我加在最后,现在我不知道对不对?反正现在是502,是有个地方错了。######回复 @leo108 : A,这lib/omni_auth目录是没有strategies文件夹的,你的意思是新建文件夹放rb进去吗?######回复 @leo108 : 还有三个地方想请你指导一下。######回复 @maya8maya85 : gitlab本身已经集成了omniauth了,不需要你再装啊###### @leo108 ###### A. 新建文件夹 B.是真正的最后,在原本最下面的end那行下面 C.其实就是B里面的最后一个,也就是uco.rb ######回复 @leo108 : 调了几天都没成功,一错就是502,也不提示说有什么错误,不好调。。你那文章是没有发布gem的处理,如果是发布的gem,你会装吗?像安装个douban或者weibo什么的,能帮我装一下吗?大神,我按gitlab的文档也没成功######回复 @leo108 : 我比你更生手呢######回复 @maya8maya85 : 我对ruby也不熟,502的话应该是有ror的报错,具体日志路径在哪忘记了,你可以看看问题出在哪里######如果方便的话,我提供服务器相关密码,请你帮助一下,只要能调试到能重定向百度就ok.######特意抽出时间写了一天,按照你的文章指示,由于对语法不了解,我逐行调试,重编译,发现新写的uco.rb文件只要出现module就会502,不解。我安装的是8.10. devise.rb更是一加就502。不解,你的gitlab是什么版本?"

montos 2020-05-31 21:56:24 0 浏览量 回答数 0

回答

回45楼拆桥在过河的帖子 重新下载一次,再解压试试,安装包好多人用过的,不会有问题。 如再出错,将报错信息发上来。 ------------------------- 回66楼奇真界的帖子 亲,看到您的站点已经建好了,有问题再留言,感谢使用阿里云的服务! ------------------------- 回67楼信天游科技的帖子 感动了,欢迎使用! ------------------------- 回71楼奇真界的帖子 nginx  和 apache 的配置文件不通用,需要单独修改,改的内容可以参考,差不多。 ------------------------- Re“零基础”系列课程如何在ECS上快递搭建一个WordPress站点 前面有人问过,请看第“40楼”的回复。 ------------------------- 回77楼荷西的帖子 不同版本的linux,内置的命令可能有所不同,按此方法安装应该是可以的。 ------------------------- 回81楼小敏110的帖子 具体遇到了什么问题? 说详细点,大家可以帮助你。 ------------------------- 回 85楼snabna的帖子 IP能访问吗? 域名是什么? ------------------------- 回 94楼bakabaka的帖子 亲,是“cd /root”,中间有空格 ------------------------- 回 93楼jinyumi的帖子 亲,具体遇到了什么问题?贴出来,大家帮你解决 ------------------------- 回 101楼乐乐智慧的帖子 感觉像是有特别耗CPU的大SQL在执行,否则不会卡到必须重启ECS,建议从管理控制台检查一下各种报警信息,确保ECS是正常的,同时看看RDS里面的SQL审计,看看执行时间。 ------------------------- 回 108楼deerpdean的帖子 亲,请在线咨询一下镜像的供应商,是由合作伙伴提供的。 ------------------------- 回 112楼火星了的帖子 谢谢支持! ------------------------- 回 116楼shashouhang的帖子 好样的,看样子你已经自己安装上了unzip软件,有的镜像里没有自带这个命令,需要大家自己安装。 安装指令:“yum  install unzip” ,一定要注意三个单词中间有空格。 ------------------------- 回 118楼ienpai的帖子 谢谢支持,后续会根据大家关注度较高的需求陆续录制相关教程,有什么建议大家可以论坛里直接提出来。 ------------------------- 回 126楼victoire的帖子 亲,是完全免费的 ------------------------- 回 138楼过往云烟1的帖子 是文档里有乱码吗?请使用标准的 PDF reader试试,之前没有人反馈过。 ------------------------- 回 143楼原不周的帖子 亲,一般情况下不会出现这个问题,有几个方法: 1、重新执行一遍“一键WEB安装包”,支持反复安装的,同时装的时候注意一下有没有异常报错,注意一定要以管理员(root)身份执行。 2、如果还是不行,且ECS上没有重要数据,可以重置一次系统盘再试试。 如果还有问题,请将报错信息发上来,大家一起帮您诊断一下。 ------------------------- 回 150楼疯牛的帖子 首先祝贺这位同学! 回复你的问题: ECS上建立的站点不需要进行域名绑定,只需要做域名解析就可以了,在你的域名解析服务商的平台里加一条A记录,指向ECS的服务器。 ------------------------- 回 152楼原不周的帖子 按照A002教程进行完以后,就自带了phpwind论坛,这是一键WEB安装包自带的,请参考安装包的pdf说明。 ------------------------- 回 161楼fengyunk83的帖子 亲,退出VI编辑器时需要先按一下“ESC”键,然后再输入冒号和wq,教程里忘了写了,下一版更新时会加上。 这是VI的操作方法,详细步骤可以从网上搜一些相关文档学习。 ------------------------- 回 160楼小小传的帖子 如果是用真实的域名,就通过DNS解析来完成,这样所有人都可以通过域名来访问。 如果是用虚拟的域名(未正式注册的,只是测试用),可以通过修改本地PC的hosts文件来测试,其实也是一种解析的方法。 ------------------------- 回 154楼lilianzhang的帖子 暂时没有windows相关的教程,php语言在linux系统下运行得更好,推荐使用linux. ------------------------- 回 158楼fengyunk83的帖子 1、乱码没有关系,只是终端字符集问题,您可以将文档ftp下载到本地查看。 2、目录修改方法: 2.1 将WEB根目录修改为“/alidata/www/wordpress” 2.2 将phpmyadmin目录从“/alidata/www” move 到“/alidata/www/wordpress” 3、最终效果: 3.1 wordpress 可以直接通过 http://ip地址/ 来访问 3.2 phpmyadmin的访问地址变为 http://ip地址/phpmyadmin/ ------------------------- Re“零基础”系列课程如何在ECS上快递搭建一个WordPress站点 感谢 fengyunk83整理,形成了一个整体的FAQ了! 回答你的问题: 其实离成功只差一步了哈,是我之前没有去实际测试,以为改一个目录就可以,没想到wordpress在数据库里记录了安装时的路径,也需要修改一下,具体如下图所示: wp_option 表里有两个字段(siteurl , home)记录了路径,需要去掉“/wordpress”部份,实测过去掉就完全OK了,如下图: ------------------------- 回 173楼lilianzhang的帖子 不适用,windows系统请直接用“远程桌面”管理,和本地电脑一样。 ------------------------- Re“零基础”系列课程如何在ECS上快递搭建一个WordPress站点 云解析的入门帮助: https://help.aliyun.com/document_detail/dns/quick-start/hichina.html?spm=5176.product9002830_dns.4.18.KyzSsD 备案帮助入口: http://beian.aliyun.com/redian.html?spm=5176.200010.5.7.87ogNH @ fengyunk83 反馈的问题很典型,备案在中国是网站开通的必要条件,具体来说域名要指向阿里云的服务器就必须要先备案,如里之前在别的ISP备过案,需要来阿里云办理一次“备案接入”然后才可以访问。 备案的规则比较复杂,各个省的规定差异较大,请先从上面的链接去了解细节,也可以打客服电话去咨询,当然我也会和备案业务部门的同事联系,看看是否可以总结出通用的规则,录成小视频开放给大家。 关于解析的方法,请参上面的入门帮助,如有问题可以继续回复交流。 ------------------------- 回 191楼寂寞猫的帖子 亲,方便的话留个联系方式,或私信我,一定帮你解决好。 ------------------------- 回 203楼ryc0907的帖子 这个提示的意思是您的系统里没有unzip这个命令,这是一个外部命令,需要提前安装,请按照提示在命令行里输入“apt-get install unzip” 试试 ------------------------- 回 198楼伊奇的帖子 如果按照本教程一步一步操作完,最后的访问路径应该像这样: http://ip地址/wordpress/ ,如果试了还是不行,请将IP地址发上来,看看具体报错。 ------------------------- 回 195楼wqing17的帖子 应该是可以的,建议您试一下,有问题发上来,可以协助您解决。 ------------------------- Re“零基础”系列课程如何在ECS上快递搭建一个WordPress站点 有个最简单的方法,下载如下文件,用xftp上传至/alidata/www目录下: http://ecsdownload.oss-cn-hangzhou.aliyuncs.com/index.html 该文件的功能是将对根目录的访问重定向到wordpress目录。 ------------------------- 回 232楼风愿的帖子 很可能是您选择的操作系统不是CentOS系列的,请从管理控制台查看一下ECS的OS版本,贴上来,或者如果ECS里没有重要数据就直接更换系统盘,换成CentOS 6.X 再重新安装。 ------------------------- Re“零基础”系列课程如何在ECS上快递搭建一个WordPress站点 目录名拼写有误,是 "/alidata/www/" ------------------------- 回 260楼原不周的帖子 参考这篇文章:http://blog.unvs.cn/archives/phpmyadmin-login-error.html 一般是密码不对,或者权限不够。 你可以手工在SSH终端下试试,用命令行:“mysql -uroot -p密码”,看看能否登录。 ------------------------- Re“零基础”系列课程如何在ECS上快递搭建一个WordPress站点 视频链接昨天就修好了,欢迎大家继续观看! ------------------------- 回 301楼权威地位的帖子 是不是设置了安全组? 或者SSH监听的端口不是22? ECS默认的设置一定是可以连接的。 具体问题可以加旺旺群(1253616026)沟通。 ------------------------- Re“零基础”系列课程如何在ECS上快递搭建一个WordPress站点 欢迎大家学习,我们新推出了在线的自助实验平台,3月底前可以免费做实验,体验云产品的强大功能,登录地址 www.aliyunedu.net ,可用阿里云帐号直接登录。 ------------------------- 回 309楼hlz8mm的帖子 祝贺! ------------------------- 回 314楼拆桥在过河的帖子 本教程选择的是nignx,如果您对linux操作不熟悉的话,建议跟着教程一步一步走 ------------------------- 回 315楼小家子的帖子 前两个问题,请您往前看,之前我回复过优化方法。 第3条,linux的使用和维护技能,本身是一个很大的课题,也是很基础的教程,您可以在网上搜一下,有很多现成的资料可以找到。 在ECS的版块里也有很多实有的内容,希望对您有帮助: https://bbs.aliyun.com/thread/207.html?spm=5176.7189909.3.4.B68UCz ------------------------- 回 325楼fcjfamily的帖子 如果通过IP地址能正常访问, 更换为域名后出现问题,请参考前面的回复,有一个完整的说明,需要改一下数据库里记录的首页URL,有硬链接. ------------------------- 回 380楼bangmind的帖子 提示无效的用户, 换成以下两个命令,分别试试: “chown www wordpress -Rf” “chgrp www wordpress -Rf” 如果还报同样的错,估计是上一步安装的过程中没有创建www用户。 ------------------------- 回 390楼purebob的帖子 出现这个信息应该是nginx没的启动,直接start一下试试。

training 2019-12-01 23:22:03 0 浏览量 回答数 0

回答

回 2楼(中郁) 的帖子 支持的,您可以试试。 ------------------------- 回 5楼(赛伯传奇) 的帖子 是的,可以这么用 ------------------------- 新增centos6.5安装包,请从帖子中的链接地址下载。 ------------------------- 回 11楼(gchoujunyong) 的帖子 建议您使用ossfs,相对于cloudfs,他更稳定,功能更全。 ------------------------- 回 13楼(chinaoc) 的帖子 您好,请问您在安装过程中遇到什么问题了吗?请在论坛或者github上及时反馈,期待您能顺利使用。 您也可参考论坛其他同学做的系列教程 http://bbs.aliyun.com/read/267185.html ------------------------- 回 15楼(wanghaitaosha) 的帖子 本周会推出ftp工具,敬请期待。 ------------------------- 回 15楼(wanghaitaosha) 的帖子 ftp工具已经推出,支持window/linux/mac,敬请试用。 http://bbs.aliyun.com/read/268724.html ------------------------- 回 24楼(唐小虾) 的帖子 你的passwd-ossfs里的bucket名字是ace-files吗?access key id/secrets是对的吗? ------------------------- 回 27楼(fjyzf) 的帖子 您好,这个系统我们没有测试过。您可以下载centos6.5的包,看看是否能用。 ------------------------- 回 33楼(小马驹) 的帖子 是官方的工具。 ------------------------- 回 31楼(懂懂) 的帖子 您好,其他idc的服务器也可以使用。 ------------------------- 回 30楼(懂懂) 的帖子 您好,支持内网域名,可通过-ourl参数设置内网域名。 ------------------------- 回 32楼(吴语) 的帖子 1. 这是一个通用的工具,能让您通过普通的文件系统接口操作OSS数据。 2. 不用挂载到系统目录下,可以挂载到任何目录下,要求是您要挂载的目录下没有数据。 ------------------------- Re:回 28楼(scorpion) 的帖子 引用第29楼chinaoc于2015-12-29 07:19发表的 回 28楼(scorpion) 的帖子 : 请问  服务器开机自动运行ossfs  怎么配置? [url=http://bbs.aliyun.com/job.php?action=topost&tid=267052&pid=747744][/url] 您好,现在已经支持通过设置fstab来开机自动加载。请重新下载安装包,安装后按wiki的说明设置。 https://github.com/aliyun/ossfs/wiki/FAQ ------------------------- 回 41楼(赛伯传奇) 的帖子 请下载最新的安装包重新安装,照着wiki操作就好了 ------------------------- Re:Reossfs工具发布啦,让传统软件和云端存储完美融合 引用第51楼商务透视网于2016-01-10 16:54发表的 Reossfs工具发布啦,让传统软件和云端存储完美融合 : CentOS 6.3 64bits 系统可以用吗 [url=https://bbs.aliyun.com/job.php?action=topost&tid=267052&pid=751339][/url] 可以的,用centos6.5的安装包安装。 ------------------------- Re:回 楼主scorpion的帖子 引用第54楼dream于2016-01-15 11:03发表的 回 楼主scorpion的帖子 : 有个问题请教: 1,挂载OSS有两个域名,一个外网,一个内网,那么我们把ourl写成内网地址速度会不会快点?会影响外网用户访问吗? 2,如果绑定了域名,ourl能不能直接写绑定的域名? 望回复,谢谢! [url=https://bbs.aliyun.com/job.php?action=topost&tid=267052&pid=753274][/url] 1. 你是在ecs上挂载吗?建议换成内网域名,速度会更快并且流量免费。不影响外网用户访问。 2. 没有测试过,但应该是可以的,你可以试试。 ------------------------- Re:Reossfs工具发布啦,让传统软件和云端存储完美融合 引用第58楼302重定向于2016-01-17 01:27发表的 Reossfs工具发布啦,让传统软件和云端存储完美融合 : slb下有多个ECS的话,会有这个情况 多台ECS挂着一个bucket 多台ECS写入同一个bucket的同一个文件夹 会有问题么 [url=https://bbs.aliyun.com/job.php?action=topost&tid=267052&pid=754115][/url] 没问题,ossfs的一个主要功能是让你在不同ecs上恭喜同一个bucket。但你自己要保证不同的ecs写不同的文件。 ------------------------- Re:Reossfs工具发布啦,让传统软件和云端存储完美融合 引用第62楼verdandi于2016-01-27 15:33发表的 Reossfs工具发布啦,让传统软件和云端存储完美融合 : 请问:使用过挂载目录上传过文件后,日后再次挂载时是否还需要此目录为空目录? [url=https://bbs.aliyun.com/job.php?action=topost&tid=267052&pid=757466][/url] 需要,这是操作系统mount的要求。 ------------------------- Re:Reossfs工具发布啦,让传统软件和云端存储完美融合 引用第61楼dramayang于2016-01-26 21:40发表的 Reossfs工具发布啦,让传统软件和云端存储完美融合 : 挂载成功。。。就是ls有点反应迟钝。 [url=https://bbs.aliyun.com/job.php?action=topost&tid=267052&pid=757260][/url] 第一次ls会从服务器端拿meta信息,有多次网络交互,所以比较慢。第一次ls成功后,这些meta信息会被缓存在本地,以后就很快了。 ------------------------- Re:回 67楼(oss-dev) 的帖子 引用第68楼梦丫头于2016-02-16 20:22发表的 回 67楼(oss-dev) 的帖子 : 了解,有空试下,外网支持吧 [url=https://bbs.aliyun.com/job.php?action=topost&tid=267052&pid=760496][/url] 支持的。 ------------------------- Re:回 69楼(scorpion) 的帖子 引用第70楼梦丫头于2016-02-19 23:41发表的 回 69楼(scorpion) 的帖子 : Total size: 4.2 M Installed size: 4.2 M Is this ok [y/N]: y Downloading Packages: Running rpm_check_debug ....... [url=https://bbs.aliyun.com/job.php?action=topost&tid=267052&pid=761219][/url] 您的系统中之前安装过老版本的fuse,请先用yum卸载,再重新安装ossfs ------------------------- Re:回 71楼(scorpion) 的帖子 引用第72楼梦丫头于2016-02-20 13:35发表的 回 71楼(scorpion) 的帖子 : 已经解决,原来我安装cloudfs,卸载就可以了,不过我感觉cloudfs也不错,有启动和停止 [url=https://bbs.aliyun.com/job.php?action=topost&tid=267052&pid=761277][/url] 您使用ossfs挂载,ossfs就启动了。您umout挂载的目录,ossfs就停止了。 ------------------------- Re:回 76楼wenlujon的帖子 引用第78楼青岩云梦于2016-03-14 10:45发表的 回 76楼wenlujon的帖子 : 同问:有个问题,如果作为一个盘挂载到ecs,那么下载的时候,走的是ecs的流量吗? [url=https://bbs.aliyun.com/job.php?action=topost&tid=267052&pid=767511][/url] 您好,ecs下载的时候,oss端是不收流量费用的,因为是内网。 ------------------------- Re:回 14楼(scorpion) 的帖子 引用第79楼梦丫头于2016-03-18 20:55发表的 回 14楼(scorpion) 的帖子 : ossfs: could not determine how to establish security credentials. 如何解决? [url=https://bbs.aliyun.com/job.php?action=topost&tid=267052&pid=769343][/url] 您好,这个问题一般是passwd-ossfs的内容不正确,或者权限不对导致的,请按照说明重新设置。 ------------------------- Re:Reossfs工具发布啦,让传统软件和云端存储完美融合 引用第94楼失忆年华于2016-06-03 21:14发表的 Reossfs工具发布啦,让传统软件和云端存储完美融合 : 第一步安装:sudo yum localinstall your_ossfs_package --nogpgcheck 就出现:[root@iZ23fccstupZ ~]# sudo yum localinstall your_ossfs_package --nogpgcheck Loaded plugins: langpacks Skipping: your_ossfs_package, filename does not end in .rpm. Nothing to do ....... [url=https://bbs.aliyun.com/job.php?action=topost&tid=267052&pid=793827][/url] 您好,your_ossfs_package只是示例。请先下载安装包文件,然后按命令安装。 ------------------------- Re:Reossfs工具发布啦,让传统软件和云端存储完美融合 引用第98楼ap2445e0d于2016-08-18 14:39发表的 Reossfs工具发布啦,让传统软件和云端存储完美融合 : Loaded plugins: langpacks Skipping: your_ossfs_package, filename does not end in .rpm. Nothing to do [url=https://bbs.aliyun.com/job.php?action=topost&tid=267052&pid=813337][/url] 把“your_ossfs_package"替换成实际的ossfs包名

scorpion 2019-12-02 01:06:58 0 浏览量 回答数 0

问题

安全组详解,新手必看教程

我的中国 2019-12-01 21:51:56 92179 浏览量 回答数 37

问题

【精品问答】python技术1000问(1)

问问小秘 2019-12-01 21:57:48 448858 浏览量 回答数 12

问题

【阿里云产品评测】个人WP站的云体验

cnsjw 2019-12-01 20:54:27 22207 浏览量 回答数 25

回答

Nginx是一个轻量级的,高性能的Web服务器以及反向代理和邮箱 (IMAP/POP3)代理服务器。它运行在UNIX,GNU /linux,BSD 各种版本,Mac OS X,Solaris和Windows。根据调查统计,6%的网站使用Nginx Web服务器。Nginx是少数能处理C10K问题的服务器之一。跟传统的服务器不同,Nginx不依赖线程来处理请求。相反,它使用了更多的可扩展的事 件驱动(异步)架构。Nginx为一些高流量的网站提供动力,比如WordPress,人人网,腾讯,网易等。这篇文章主要是介绍如何提高运行在 Linux或UNIX系统的Nginx Web服务器的安全性。 默认配置文件和Nginx端口 /usr/local/nginx/conf/ – Nginx配置文件目录,/usr/local/nginx/conf/nginx.conf是主配置文件 /usr/local/nginx/html/ – 默认网站文件位置 /usr/local/nginx/logs/ – 默认日志文件位置 Nginx HTTP默认端口 : TCP 80 Nginx HTTPS默认端口: TCP 443 你可以使用以下命令来测试Nginx配置文件准确性。 /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 执行以下命令来重新加载配置文件。 /usr/local/nginx/sbin/nginx -s reload 执行以下命令来停止服务器。 /usr/local/nginx/sbin/nginx -s stop 一、配置SELinux 注意:对于云服务器 ECS,参阅 ECS 使用须知 ,基于兼容性、稳定性考虑,请勿开启 SELinux。 安全增强型 Linux(SELinux)是一个Linux内核的功能,它提供支持访问控制的安全政策保护机制。它可以防御大部分攻击。下面我们来看如何启动基于centos/RHEL系统的SELinux。 安装SELinux rpm -qa | grep selinux libselinux-1.23.10-2 selinux-policy-targeted-1.23.16-6 如果没有返回任何结果,代表没有安装 SELinux,如果返回了类似上面的结果,则说明系统安装了 SELinux。 布什值锁定 运行命令getsebool -a来锁定系统。 getsebool -a | less getsebool -a | grep off getsebool -a | grep o 二、通过分区挂载允许最少特权 服务器上的网页/html/php文件单独分区。例如,新建一个分区/dev/sda5(第一逻辑分区),并且挂载在/nginx。确保 /nginx是以noexec, nodev and nosetuid的权限挂载。以下是我的/etc/fstab的挂载/nginx的信息: LABEL=/nginx /nginx ext3 defaults,nosuid,noexec,nodev 1 2 注意:你需要使用fdisk和mkfs.ext3命令创建一个新分区。 三、配置/etc/sysctl.conf强化Linux安全 你可以通过编辑/etc/sysctl.conf来控制和配置Linux内核、网络设置。 Avoid a smurf attack net.ipv4.icmp_echo_ignore_broadcasts = 1 Turn on protection for bad icmp error messages net.ipv4.icmp_ignore_bogus_error_responses = 1 Turn on syncookies for SYN flood attack protection net.ipv4.tcp_syncookies = 1 Turn on and log spoofed, source routed, and redirect packets net.ipv4.conf.all.log_martians = 1 net.ipv4.conf.default.log_martians = 1 No source routed packets here net.ipv4.conf.all.accept_source_route = 0 net.ipv4.conf.default.accept_source_route = 0 Turn on reverse path filtering net.ipv4.conf.all.rp_filter = 1 net.ipv4.conf.default.rp_filter = 1 Make sure no one can alter the routing tables net.ipv4.conf.all.accept_redirects = 0 net.ipv4.conf.default.accept_redirects = 0 net.ipv4.conf.all.secure_redirects = 0 net.ipv4.conf.default.secure_redirects = 0 Don’t act as a router net.ipv4.ip_forward = 0 net.ipv4.conf.all.send_redirects = 0 net.ipv4.conf.default.send_redirects = 0 Turn on execshild kernel.exec-shield = 1 kernel.randomize_va_space = 1 Tuen IPv6 net.ipv6.conf.default.router_solicitations = 0 net.ipv6.conf.default.accept_ra_rtr_pref = 0 net.ipv6.conf.default.accept_ra_pinfo = 0 net.ipv6.conf.default.accept_ra_defrtr = 0 net.ipv6.conf.default.autoconf = 0 net.ipv6.conf.default.dad_transmits = 0 net.ipv6.conf.default.max_addresses = 1 Optimization for port usefor LBs Increase system file descriptor limit fs.file-max = 65535 Allow for more PIDs (to reduce rollover problems); may break some programs 32768 kernel.pid_max = 65536 Increase system IP port limits net.ipv4.ip_local_port_range = 2000 65000 Increase TCP max buffer size setable using setsockopt() net.ipv4.tcp_rmem = 4096 87380 8388608 net.ipv4.tcp_wmem = 4096 87380 8388608 Increase Linux auto tuning TCP buffer limits min, default, and max number of bytes to use set max to at least 4MB, or higher if you use very high BDP paths Tcp Windows etc net.core.rmem_max = 8388608 net.core.wmem_max = 8388608 net.core.netdev_max_backlog = 5000 net.ipv4.tcp_window_scaling = 1 四、删除所有不需要的Nginx模块 你需要直接通过编译Nginx源代码使模块数量最少化。通过限制只允许web服务器访问模块把风险降到最低。你可以只配置安装nginx你所需要的模块。例如,禁用SSL和autoindex模块你可以执行以下命令: ./configure –without-http_autoindex_module –without-http_ssi_module make make install 通过以下命令来查看当编译nginx服务器时哪个模块能开户或关闭: ./configure –help | less 禁用你用不到的nginx模块。 (可选项)更改nginx版本名称。 编辑文件/http/ngx_http_header_filter_module.c: vi +48 src/http/ngx_http_header_filter_module.c 找到行: static char ngx_http_server_string[] = “Server: nginx” CRLF; static char ngx_http_server_full_string[] = “Server: ” NGINX_VER CRLF; 按照以下行修改: static char ngx_http_server_string[] = “Server: Ninja Web Server” CRLF; static char ngx_http_server_full_string[] = “Server: Ninja Web Server” CRLF; 保存并关闭文件。现在你可以编辑服务器了。增加以下代码到nginx.conf文件来关闭nginx版本号的显示。 server_tokens off 五、使用mod_security(只适合后端Apache服务器) mod_security为Apache提供一个应用程序级的防火墙。为后端Apache Web服务器安装mod_security,这会阻止很多注入式攻击。 六、安装SELinux策略以强化Nginx Web服务器 默认的SELinux不会保护Nginx Web服务器,但是你可以安装和编译保护软件。 1、安装编译SELinux所需环境支持 yum -y install selinux-policy-targeted selinux-policy-devel 2、下载SELinux策略以强化Nginx Web服务器。 cd /opt wget ‘http://downloads.sourceforge.net/project/selinuxnginx/se-ngix_1_0_10.tar.gz?use_mirror=nchc’ 3、解压文件 tar -zxvf se-ngix_1_0_10.tar.gz 4、编译文件 cd se-ngix_1_0_10/nginx make 将会输出如下: Compiling targeted nginx module /usr/bin/checkmodule: loading policy configuration from tmp/nginx.tmp /usr/bin/checkmodule: policy configuration loaded /usr/bin/checkmodule: writing binary representation (version 6) to tmp/nginx.mod Creating targeted nginx.pp policy package rm tmp/nginx.mod.fc tmp/nginx.mod 5、安装生成的nginx.pp SELinux模块: /usr/sbin/semodule -i nginx.pp 七、基于Iptables防火墙的限制 下面的防火墙脚本阻止任何除了允许: 来自HTTP(TCP端口80)的请求 来自ICMP ping的请求 ntp(端口123)的请求输出 smtp(TCP端口25)的请求输出 #!/bin/bash IPT=”/sbin/iptables” IPS Get server public ip SERVER_IP=$(ifconfig eth0 | grep ‘inet addr:’ | awk -F’inet addr:’ ‘{ print $2}’ | awk ‘{ print $1}’) LB1_IP=”204.54.1.1″ LB2_IP=”204.54.1.2″ Do some smart logic so that we can use damm script on LB2 too OTHER_LB=”" SERVER_IP=”" [[ "$SERVER_IP" == "$LB1_IP" ]] && OTHER_LB=”$LB2_IP” || OTHER_LB=”$LB1_IP” [[ "$OTHER_LB" == "$LB2_IP" ]] && OPP_LB=”$LB1_IP” || OPP_LB=”$LB2_IP” IPs PUB_SSH_ONLY=”122.xx.yy.zz/29″ FILES BLOCKED_IP_TDB=/root/.fw/blocked.ip.txt SPOOFIP=”127.0.0.0/8 192.168.0.0/16 172.16.0.0/12 10.0.0.0/8 169.254.0.0/16 0.0.0.0/8 240.0.0.0/4 255.255.255.255/32 168.254.0.0/16 224.0.0.0/4 240.0.0.0/5 248.0.0.0/5 192.0.2.0/24″ BADIPS=$( [[ -f ${BLOCKED_IP_TDB} ]] && egrep -v “^#|^$” ${BLOCKED_IP_TDB}) Interfaces PUB_IF=”eth0″ # public interface LO_IF=”lo” # loopback VPN_IF=”eth1″ # vpn / private net start firewall echo “Setting LB1 $(hostname) Firewall…” DROP and close everything $IPT -P INPUT DROP $IPT -P OUTPUT DROP $IPT -P FORWARD DROP Unlimited lo access $IPT -A INPUT -i ${LO_IF} -j ACCEPT $IPT -A OUTPUT -o ${LO_IF} -j ACCEPT Unlimited vpn / pnet access $IPT -A INPUT -i ${VPN_IF} -j ACCEPT $IPT -A OUTPUT -o ${VPN_IF} -j ACCEPT Drop sync $IPT -A INPUT -i ${PUB_IF} -p tcp ! –syn -m state –state NEW -j DROP Drop Fragments $IPT -A INPUT -i ${PUB_IF} -f -j DROP $IPT -A INPUT -i ${PUB_IF} -p tcp –tcp-flags ALL FIN,URG,PSH -j DROP $IPT -A INPUT -i ${PUB_IF} -p tcp –tcp-flags ALL ALL -j DROP Drop NULL packets $IPT -A INPUT -i ${PUB_IF} -p tcp –tcp-flags ALL NONE -m limit –limit 5/m –limit-burst 7 -j LOG –log-prefix ” NULL Packets “ $IPT -A INPUT -i ${PUB_IF} -p tcp –tcp-flags ALL NONE -j DROP $IPT -A INPUT -i ${PUB_IF} -p tcp –tcp-flags SYN,RST SYN,RST -j DROP Drop XMAS $IPT -A INPUT -i ${PUB_IF} -p tcp –tcp-flags SYN,FIN SYN,FIN -m limit –limit 5/m –limit-burst 7 -j LOG –log-prefix ” XMAS Packets “ $IPT -A INPUT -i ${PUB_IF} -p tcp –tcp-flags SYN,FIN SYN,FIN -j DROP Drop FIN packet scans $IPT -A INPUT -i ${PUB_IF} -p tcp –tcp-flags FIN,ACK FIN -m limit –limit 5/m –limit-burst 7 -j LOG –log-prefix ” Fin Packets Scan “ $IPT -A INPUT -i ${PUB_IF} -p tcp –tcp-flags FIN,ACK FIN -j DROP $IPT -A INPUT -i ${PUB_IF} -p tcp –tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP Log and get rid of broadcast / multicast and invalid $IPT -A INPUT -i ${PUB_IF} -m pkttype –pkt-type broadcast -j LOG –log-prefix ” Broadcast “ $IPT -A INPUT -i ${PUB_IF} -m pkttype –pkt-type broadcast -j DROP $IPT -A INPUT -i ${PUB_IF} -m pkttype –pkt-type multicast -j LOG –log-prefix ” Multicast “ $IPT -A INPUT -i ${PUB_IF} -m pkttype –pkt-type multicast -j DROP $IPT -A INPUT -i ${PUB_IF} -m state –state INVALID -j LOG –log-prefix ” Invalid “ $IPT -A INPUT -i ${PUB_IF} -m state –state INVALID -j DROP Log and block spoofed ips $IPT -N spooflist for ipblock in $SPOOFIP do $IPT -A spooflist -i ${PUB_IF} -s $ipblock -j LOG –log-prefix ” SPOOF List Block “ $IPT -A spooflist -i ${PUB_IF} -s $ipblock -j DROP done $IPT -I INPUT -j spooflist $IPT -I OUTPUT -j spooflist $IPT -I FORWARD -j spooflist Allow ssh only from selected public ips for ip in ${PUB_SSH_ONLY} do $IPT -A INPUT -i ${PUB_IF} -s ${ip} -p tcp -d ${SERVER_IP} –destination-port 22 -j ACCEPT $IPT -A OUTPUT -o ${PUB_IF} -d ${ip} -p tcp -s ${SERVER_IP} –sport 22 -j ACCEPT done allow incoming ICMP ping pong stuff $IPT -A INPUT -i ${PUB_IF} -p icmp –icmp-type 8 -s 0/0 -m state –state NEW,ESTABLISHED,RELATED -m limit –limit 30/sec -j ACCEPT $IPT -A OUTPUT -o ${PUB_IF} -p icmp –icmp-type 0 -d 0/0 -m state –state ESTABLISHED,RELATED -j ACCEPT allow incoming HTTP port 80 $IPT -A INPUT -i ${PUB_IF} -p tcp -s 0/0 –sport 1024:65535 –dport 80 -m state –state NEW,ESTABLISHED -j ACCEPT $IPT -A OUTPUT -o ${PUB_IF} -p tcp –sport 80 -d 0/0 –dport 1024:65535 -m state –state ESTABLISHED -j ACCEPT allow outgoing ntp $IPT -A OUTPUT -o ${PUB_IF} -p udp –dport 123 -m state –state NEW,ESTABLISHED -j ACCEPT $IPT -A INPUT -i ${PUB_IF} -p udp –sport 123 -m state –state ESTABLISHED -j ACCEPT allow outgoing smtp $IPT -A OUTPUT -o ${PUB_IF} -p tcp –dport 25 -m state –state NEW,ESTABLISHED -j ACCEPT $IPT -A INPUT -i ${PUB_IF} -p tcp –sport 25 -m state –state ESTABLISHED -j ACCEPT add your other rules here ####################### drop and log everything else $IPT -A INPUT -m limit –limit 5/m –limit-burst 7 -j LOG –log-prefix ” DEFAULT DROP “ $IPT -A INPUT -j DROP exit 0 八、控制缓冲区溢出攻击 编辑nginx.conf,为所有客户端设置缓冲区的大小限制。 vi /usr/local/nginx/conf/nginx.conf 编辑和设置所有客户端缓冲区的大小限制如下: Start: Size Limits & Buffer Overflows client_body_buffer_size 1K; client_header_buffer_size 1k; client_max_body_size 1k; large_client_header_buffers 2 1k; END: Size Limits & Buffer Overflows 解释: 1、client_body_buffer_size 1k-(默认8k或16k)这个指令可以指定连接请求实体的缓冲区大小。如果连接请求超过缓存区指定的值,那么这些请求实体的整体或部分将尝试写入一个临时文件。 2、client_header_buffer_size 1k-指令指定客户端请求头部的缓冲区大小。绝大多数情况下一个请求头不会大于1k,不过如果有来自于wap客户端的较大的cookie它可能会大于 1k,Nginx将分配给它一个更大的缓冲区,这个值可以在large_client_header_buffers里面设置。 3、client_max_body_size 1k-指令指定允许客户端连接的最大请求实体大小,它出现在请求头部的Content-Length字段。 如果请求大于指定的值,客户端将收到一个”Request Entity Too Large” (413)错误。记住,浏览器并不知道怎样显示这个错误。 4、large_client_header_buffers-指定客户端一些比较大的请求头使用的缓冲区数量和大小。请求字段不能大于一个缓冲区大小,如果客户端发送一个比较大的头,nginx将返回”Request URI too large” (414) 同样,请求的头部最长字段不能大于一个缓冲区,否则服务器将返回”Bad request” (400)。缓冲区只在需求时分开。默认一个缓冲区大小为操作系统中分页文件大小,通常是4k或8k,如果一个连接请求最终将状态转换为keep- alive,它所占用的缓冲区将被释放。 你还需要控制超时来提高服务器性能并与客户端断开连接。按照如下编辑: Start: Timeouts client_body_timeout 10; client_header_timeout 10; keepalive_timeout 5 5; send_timeout 10; End: Timeouts 1、client_body_timeout 10;-指令指定读取请求实体的超时时间。这里的超时是指一个请求实体没有进入读取步骤,如果连接超过这个时间而客户端没有任何响应,Nginx将返回一个”Request time out” (408)错误。 2、client_header_timeout 10;-指令指定读取客户端请求头标题的超时时间。这里的超时是指一个请求头没有进入读取步骤,如果连接超过这个时间而客户端没有任何响应,Nginx将返回一个”Request time out” (408)错误。 3、keepalive_timeout 5 5; – 参数的第一个值指定了客户端与服务器长连接的超时时间,超过这个时间,服务器将关闭连接。参数的第二个值(可选)指定了应答头中Keep-Alive: timeout=time的time值,这个值可以使一些浏览器知道什么时候关闭连接,以便服务器不用重复关闭,如果不指定这个参数,nginx不会在应 答头中发送Keep-Alive信息。(但这并不是指怎样将一个连接“Keep-Alive”)参数的这两个值可以不相同。 4、send_timeout 10; 指令指定了发送给客户端应答后的超时时间,Timeout是指没有进入完整established状态,只完成了两次握手,如果超过这个时间客户端没有任何响应,nginx将关闭连接。 九、控制并发连接 你可以使用NginxHttpLimitZone模块来限制指定的会话或者一个IP地址的特殊情况下的并发连接。编辑nginx.conf: Directive describes the zone, in which the session states are stored i.e. store in slimits. 1m can handle 32000 sessions with 32 bytes/session, set to 5m x 32000 session limit_zone slimits $binary_remote_addr 5m; Control maximum number of simultaneous connections for one session i.e. restricts the amount of connections from a single ip address limit_conn slimits 5; 上面表示限制每个远程IP地址的客户端同时打开连接不能超过5个。 十、只允许我们的域名的访问 如果机器人只是随机扫描服务器的所有域名,那拒绝这个请求。你必须允许配置的虚拟域或反向代理请求。你不必使用IP地址来拒绝。 Only requests to our Host are allowed i.e. nixcraft.in, images.nixcraft.in and www.nixcraft.in if ($host !~ ^(nixcraft.in|www.nixcraft.in|images.nixcraft.in)$ ) { return 444; } 十一、限制可用的请求方法 GET和POST是互联网上最常用的方法。 Web服务器的方法被定义在RFC 2616。如果Web服务器不要求启用所有可用的方法,它们应该被禁用。下面的指令将过滤只允许GET,HEAD和POST方法: Only allow these request methods if ($request_method !~ ^(GET|HEAD|POST)$ ) { return 444; } Do not accept DELETE, SEARCH and other methods 更多关于HTTP方法的介绍 GET方法是用来请求,如文件http://www.moqifei.com/index.php。 HEAD方法是一样的,除非该服务器的GET请求无法返回消息体。 POST方法可能涉及到很多东西,如储存或更新数据,或订购产品,或通过提交表单发送电子邮件。这通常是使用服务器端处理,如PHP,Perl和Python等脚本。如果你要上传的文件和在服务器处理数据,你必须使用这个方法。 十二、如何拒绝一些User-Agents? 你可以很容易地阻止User-Agents,如扫描器,机器人以及滥用你服务器的垃圾邮件发送者。 Block download agents if ($http_user_agent ~* LWP::Simple|BBBike|wget) { return 403; } 阻止Soso和有道的机器人: Block some robots if ($http_user_agent ~* Sosospider|YodaoBot) { return 403; } 十三、如何防止图片盗链 图片或HTML盗链的意思是有人直接用你网站的图片地址来显示在他的网站上。最终的结果,你需要支付额外的宽带费用。这通常是在论坛和博客。我强烈建议您封锁,并阻止盗链行为。 Stop deep linking or hot linking location /images/ { valid_referers none blocked www.example.com example.com; if ($invalid_referer) { return 403; } } 例如:重定向并显示指定图片 valid_referers blocked www.example.com example.com; if ($invalid_referer) { rewrite ^/images/uploads.*.(gif|jpg|jpeg|png)$ http://www.examples.com/banned.jpg last } 十四、目录限制 你可以对指定的目录设置访问权限。所有的网站目录应该一一的配置,只允许必须的目录访问权限。 通过IP地址限制访问 你可以通过IP地址来限制访问目录/admin/: location /docs/ { block one workstation deny 192.168.1.1; allow anyone in 192.168.1.0/24 allow 192.168.1.0/24; drop rest of the world deny all; } 通过密码保护目录 首先创建密码文件并增加“user”用户: mkdir /usr/local/nginx/conf/.htpasswd/ htpasswd -c /usr/local/nginx/conf/.htpasswd/passwd user 编辑nginx.conf,加入需要保护的目录: Password Protect /personal-images/ and /delta/ directories location ~ /(personal-images/.|delta/.) { auth_basic “Restricted”; auth_basic_user_file /usr/local/nginx/conf/.htpasswd/passwd; } 一旦密码文件已经生成,你也可以用以下的命令来增加允许访问的用户: htpasswd -s /usr/local/nginx/conf/.htpasswd/passwd userName 十五、Nginx SSL配置 HTTP是一个纯文本协议,它是开放的被动监测。你应该使用SSL来加密你的用户内容。 创建SSL证书 执行以下命令: cd /usr/local/nginx/conf openssl genrsa -des3 -out server.key 1024 openssl req -new -key server.key -out server.csr cp server.key server.key.org openssl rsa -in server.key.org -out server.key openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt 编辑nginx.conf并按如下来更新: server { server_name example.com; listen 443; ssl on; ssl_certificate /usr/local/nginx/conf/server.crt; ssl_certificate_key /usr/local/nginx/conf/server.key; access_log /usr/local/nginx/logs/ssl.access.log; error_log /usr/local/nginx/logs/ssl.error.log; } 重启nginx: /usr/local/nginx/sbin/nginx -s reload 十六、Nginx与PHP安全建议 PHP是流行的服务器端脚本语言之一。如下编辑/etc/php.ini文件: Disallow dangerous functions disable_functions = phpinfo, system, mail, exec Try to limit resources Maximum execution time of each script, in seconds max_execution_time = 30 Maximum amount of time each script may spend parsing request data max_input_time = 60 Maximum amount of memory a script may consume (8MB) memory_limit = 8M Maximum size of POST data that PHP will accept. post_max_size = 8M Whether to allow HTTP file uploads. file_uploads = Off Maximum allowed size for uploaded files. upload_max_filesize = 2M Do not expose PHP error messages to external users display_errors = Off Turn on safe mode safe_mode = On Only allow access to executables in isolated directory safe_mode_exec_dir = php-required-executables-path Limit external access to PHP environment safemode_allowed_env_vars = PHP Restrict PHP information leakage expose_php = Off Log all errors log_errors = On Do not register globals for input data register_globals = Off Minimize allowable PHP post size post_max_size = 1K Ensure PHP redirects appropriately cgi.force_redirect = 0 Disallow uploading unless necessary file_uploads = Off Enable SQL safe mode sql.safe_mode = On Avoid Opening remote files allow_url_fopen = Off 十七、如果可能让Nginx运行在一个chroot监狱 把nginx放在一个chroot监狱以减小潜在的非法进入其它目录。你可以使用传统的与nginx一起安装的chroot。如果可能,那使用FreeBSD jails,Xen,OpenVZ虚拟化的容器概念。 十八、在防火墙级限制每个IP的连接数 网络服务器必须监视连接和每秒连接限制。PF和Iptales都能够在进入你的nginx服务器之前阻止最终用户的访问。 Linux Iptables:限制每次Nginx连接数 下面的例子会阻止来自一个IP的60秒钟内超过15个连接端口80的连接数。 /sbin/iptables -A INPUT -p tcp –dport 80 -i eth0 -m state –state NEW -m recent –set /sbin/iptables -A INPUT -p tcp –dport 80 -i eth0 -m state –state NEW -m recent –update –seconds 60 –hitcount 15 -j DROP service iptables save 请根据你的具体情况来设置限制的连接数。 十九:配置操作系统保护Web服务器 像以上介绍的启动SELinux.正确设置/nginx文档根目录的权限。Nginx以用户nginx运行。但是根目录(/nginx或者/usr /local/nginx/html)不应该设置属于用户nginx或对用户nginx可写。找出错误权限的文件可以使用如下命令: find /nginx -user nginx find /usr/local/nginx/html -user nginx 确保你更所有权为root或其它用户,一个典型的权限设置 /usr/local/nginx/html/ ls -l /usr/local/nginx/html/ 示例输出: -rw-r–r– 1 root root 925 Jan 3 00:50 error4xx.html -rw-r–r– 1 root root 52 Jan 3 10:00 error5xx.html -rw-r–r– 1 root root 134 Jan 3 00:52 index.html 你必须删除由vi或其它文本编辑器创建的备份文件: find /nginx -name ‘.?’ -not -name .ht -or -name ‘~’ -or -name ‘.bak’ -or -name ‘.old*’ find /usr/local/nginx/html/ -name ‘.?’ -not -name .ht -or -name ‘~’ -or -name ‘.bak’ -or -name ‘.old*’ 通过find命令的-delete选项来删除这些文件。 二十、限制Nginx连接传出 黑客会使用工具如wget下载你服务器本地的文件。使用Iptables从nginx用户来阻止传出连接。ipt_owner模块试图匹配本地产生的数据包的创建者。下面的例子中只允许user用户在外面使用80连接。 /sbin/iptables -A OUTPUT -o eth0 -m owner –uid-owner vivek -p tcp –dport 80 -m state –state NEW,ESTABLISHED -j ACCEPT 通过以上的配置,你的nginx服务器已经非常安全了并可以发布网页。可是,你还应该根据你网站程序查找更多的安全设置资料。例如,wordpress或者第三方程序。

KB小秘书 2019-12-02 02:06:56 0 浏览量 回答数 0

回答

线网络优化是通过对现已运行的网络进行话务数据分析、现场测试数据采集、参数分析、硬件检查等手段,找出影响网络质量的原因,并且通过参数的修改、网络结构的调整、设备配置的调整和采取某些技术手段(采用MRP的规划办法等),确保系统高质量的运行,使现有网络资源获得最佳效益,以最经济的投入获得最大的收益。 二 GSM无线网络优化的常规方法 网络优化的方法很多,在网络优化的初期,常通过对OMC-R数据的分析和路测的结果,制定网络调整的方案。在采用图1的流程经过几个循环后,网络质量有了大幅度的提高。但仅采用上述方法较难发现和解决问题,这时通常会结合用户投诉和CQT测试办法来发现问题,结合信令跟踪分析法、话务统计分析法及路测分析法,分析查找问题的根源。在实际优化中,尤其以分析OMC-R话务统计报告,并辅以七号信令仪表进行A接口或Abis接口跟踪分析,作为网络优化最常用的手段。网络优化最重要的一步是如何发现问题,下面就是几种常用的方法: 1.话务统计分析法:OMC话务统计是了解网络性能指标的一个重要途径,它反映了无线网络的实际运行状态。它是我们大多数网络优化基础数据的主要根据。通过对采集到的参数分类处理,形成便于分析网络质量的报告。通过话务统计报告中的各项指标(呼叫成功率、掉话率、切换成功率、每时隙话务量、无线信道可用率、话音信道阻塞率和信令信道的可用率、掉话率及阻塞率等),可以了解到无线基站的话务分布及变化情况,从而发现异常,并结合其它手段,可分析出网络逻辑或物理参数设置的不合理、网络结构的不合理、话务量不均、频率干扰及硬件故障等问题。同时还可以针对不同地区,制定统一的参数模板,以便更快地发现问题,并且通过调整特定小区或整个网络的参数等措施,使系统各小区的各项指标得到提高,从而提高全网的系统指标。 2.DT (驱车测试):在汽车以一定速度行驶的过程中,借助测试仪表、测试手机,对车内信号强度是否满足正常通话要求,是否存在拥塞、干扰、掉话等现象进行测试。通常在DT中根据需要设定每次呼叫的时长,分为长呼(时长不限,直到掉话为止)和短呼(一般取60秒左右,根据平均用户呼叫时长定)两种(可视情况调节时长),为保证测试的真实性,一般车速不应超过40公里/小时。路测分析法主要是分析空中接口的数据及测量覆盖,通过DT测试,可以了解:基站分布、覆盖情况,是否存在盲区;切换关系、切换次数、切换电平是否正常;下行链路是否有同频、邻频干扰;是否有小岛效应;扇区是否错位;天线下倾角、方位角及天线高度是否合理;分析呼叫接通情况,找出呼叫不通及掉话的原因,为制定网络优化方案和实施网络优化提供依据。 3.CQT (呼叫质量测试或定点网络质量测试):在服务区中选取多个测试点,进行一定数量的拨打呼叫,以用户的角度反映网络质量。测试点一般选择在通信比较集中的场合,如酒店、机场、车站、重要部门、写字楼、集会场所等。它是DT测试的重要补充手段。通常还可完成DT所无法测试的深度室内覆盖及高楼等无线信号较复杂地区的测试,是场强测试方法的一种简单形式。 4.用户投诉:通过用户投诉了解网络质量。尤其在网络优化进行到一定阶段时,通过路测或数据分析已较难发现网络中的个别问题,此时通过可能无处不在的用户通话所发现的问题,使我们进一步了解网络服务状况。结合场强测试或简单的CQT测试,我们就可以发现问题的根源。该方法具有发现问题及时,针对性强等特点。 5.信令分析法:信令分析主要是对有疑问的站点的A接口、Abis接口的数据进行跟踪分析。通过对A接口采集数据分析,可以发现切换局数据不全(遗漏切换关系)、信令负荷、硬件故障(找出有问题的中继或时隙)及话务量不均(部分数据定义错误、链路不畅等原因)等问题。通过对Abis接口数据进行收集分析,主要是对测量仪表记录的LAY3信令进行分析,同时根据信号质量分布图、频率干扰检测图、接收电平分布图,结合对信令信道或话音信道占用时长等的分析,可以找出上、下行链路路径损耗过大的问题,还可以发现小区覆盖情况、一些无线干扰及隐性硬件故障等问题。 6.自动路测系统分析:采用安装于移动车辆上的自动路测终端,可以全程监测道路覆盖及通信质量。由于该终端能够将大量的信令消息和测量报告自动传回监控中心,可以及时发现问题,并对出现问题的地点进行分析,具有很强的时效性。所采用的方法同5。 在实际工作中,这几种方法都是相辅相成、互为印证的关系。GSM无线网络优化就是利用上述几种方法,围绕接通率、掉话率、拥塞率、话音质量和切换成功率及超闲小区、最坏小区等指标,通过性能统计测试→数据分析→制定实施优化方案→系统调整→重新制定优化目标→性能统计测试的螺旋式循环上升,达到网络质量明显改善的目的。 三 现阶段GSM无线网络优化方法 随着网络优化的深入进行,现阶段GSM无线网络优化的目标已越来越关注于用户对网络的满意程度,力争使网络更加稳定和通畅,使网络的系统指标进一步提高,网络质量进一步完善。 网络优化的工作流程具体包括五个方面:系统性能收集、数据分析及处理、制定网络优化方案、系统调整、重新制定网络优化目标。在网络优化时首先要通过OMC-R采集系统信息,还可通过用户申告、日常CQT测试和DT测试等信息完善问题的采集,了解用户对网络的意见及当前网络存在的缺陷,并对网络进行测试,收集网络运行的数据;然后对收集的数据进行分析及处理,找出问题发生的根源;根据数据分析处理的结果制定网络优化方案,并对网络进行系统调整。调整后再对系统进行信息收集,确定新的优化目标,周而复始直到问题解决,使网络进一步完善。 通过前述的几种系统性收集的方法,一般均能发现问题的表象及大部分问题产生的原因。 数据分析与处理是指对系统收集的信息进行全面的分析与处理,主要对电测结果结合小区设计数据库资料,包括基站设计资料、天线资料、频率规划表等。通过对数据的分析,可以发现网络中存在的影响运行质量的问题。如频率干扰、软硬件故障、天线方向角和俯仰角存在问题、小区参数设置不合理、无线覆盖不好、环境干扰、系统忙等。数据分析与处理的结果直接影响到网络运行的质量和下一步将采取的措施,因此是非常重要的一步。当然可以看出,它与第一步相辅相成,难以严格区分界限。 制定网络优化方案是根据分析结果提出改善网络运行质量的具体实施方案。 系统调整即实施网络优化,其基本内容包括设备的硬件调整(如天线的方位、俯仰调整,旁路合路器等)、小区参数调整、相邻小区切换参数调整、频率规划调整、话务量调整、天馈线参数调整、覆盖调整等或采用某些技术手段(更先进的功率控制算法、跳频技术、天线分集、更换电调或特型天线、新增微蜂窝、采用双层网结构、增加塔放等)。 测试网络调整后的结果。主要包括场强覆盖测试、干扰测试、呼叫测试和话务统计。 根据测试结果,重新制定网络优化目标。在网络运行质量已处于稳定、良好的阶段,需进一步提高指标,改善网络质量的深层次优化中出现的问题(用户投诉的处理,解决局部地区话音质量差的问题,具体事件的优化等等)或因新一轮建设所引发的问题。 四 网络优化常见问题及优化方案 建立在用户感知度上的网络优化面对的必然是对用户投诉问题的处理,一般有如下几种情况: 1.电话不通的现象 信令建立过程 在手机收到经PCH(寻呼信道)发出的pagingrequest(寻呼请求)消息后,因SDCCH拥塞无法将pagingresponse(寻呼响应)消息发回而导致的呼损。 对策:可通过调整SDCCH与TCH的比例,增加载频,调整BCC(基站色码)等措施减少SDCCH的拥塞。 因手机退出服务造成不能分配占用SDCCH而导致的呼损。 对策:对于盲区造成的脱网现象,可通过增加基站功率,增加天线高度来增加基站覆盖;对于BCCH频点受干扰造成的脱网现象,可通过改频、调整网络参数、天线下倾角等参数来排除干扰。 鉴权过程 因MSC与HLR、BSC间的信令问题,或MSC、HLR、BSC、手机在处理时失败等原因造成鉴权失败而导致的呼损。 对策:由于在呼叫过程中鉴权并非必须的环节,且从安全角度考虑也不需要每次呼叫都鉴权,因此可以将经过多少次呼叫后鉴权一次的参数调大。 加密过程 因MSC、BSC或手机在加密处理时失败导致呼损。 对策:目前对呼叫一般不做加密处理。 从手机占上SDCCH后进而分配TCH前 因无线原因(如RadioLinkFailure、硬件故障)使SDCCH掉话而导致的呼损。 对策:通过路测场强分析和实际拨打分析,对于无线原因造成的如信号差、存在干扰等问题,采取相应的措施解决;对于硬件故障,采用更换相应的单元模块来解决。 话音信道分配过程 因无线分配TCH失败(如TCH拥塞,或手机已被MSC分配至某一TCH上,因某种原因占不上TCH而导致链路中断等原因)而导致的呼损。 对策:对于TCH拥塞问题,可采用均衡话务量,调整相关小区服务范围的参数,启用定向重试功能等措施减少TCH的拥塞;对于占不上TCH的情况,一般是硬件故障,可通过拨打测试或分析话务统计中的CALLHOLDINGTIME参数进行故障定位,如某载频CALLHOLDINGTIME值小于10秒,则可断定此载频有故障。另外严重的同频干扰(如其它基站的BCCH与TCH同频)也会造成占不上TCH信道,可通过改频等措施解决。 2.电话难打现象 一般现象是较难占线、占线后很容易掉线等。这种情况首先应排除是否是TCH溢出的原因,如果TCH信道不足,则应增加信道板或通过增加微蜂窝或小区裂变的形式来解决。 排除以上原因后,一般可以考虑是否是有较强的干扰存在。可以是相邻小区的同邻频干扰或其它无线信号干扰源,或是基站本身的时钟同步不稳。这种问题较为隐蔽,需通过仔细分析层三信令和周围基站信息才能得出结论。 3. 掉话现象 掉话的原因几乎涉及网络优化的所有方面内容,尤其是在路测时发生的掉话,需要仔细分析。在路测时,需要对发生掉话的地段做电平和切换参数等诸多方面的分析。如果电平足够,多半是因为切换参数有问题或切入的小区无空闲信道。对话务较忙小区,可以让周围小区分担部分话务量。采用在保证不存在盲区的情况下,调整相关小区服务范围的参数,包括基站发射功率、天线参数(天线高度、方位角、俯仰角)、小区重选参数、切换参数及小区优先级设置的调整,以达到缩小拥塞小区的范围,并扩大周围一些相对较为空闲小区的服务范围。通过启用DirectedRetry(定向重试)功能,缓解小区的拥塞状况。上述措施仍不能满足要求的话,可通过实施紧急扩容载频的方法来解决。 对大多采用空分天线远郊或近郊的基站,如果主、分集天线俯仰角不一致,也极易造成掉话。如果参数设置无误,则可能是有些点信号质量较差。对这些信号质量较差而引起的掉话,应通过硬件调整的方式增加主用频点来解决。 4. 局部区域话音质量较差 在日常DT测试中,经常发现有很多微小的区域内,话音质量相当差、干扰大,信号弱或不稳定以及频繁切换和不断接入。这些地方往往是很多小区的交叠区、高山或湖面附近、许多高楼之间等。同样这种情况对全网的指标影响不明显,小区的话务统计报告也反映不出。这种现象一方面是由于频带资源有限,基站分布相对集中,频点复用度高,覆盖要求严格,必然不可避免的会产生局部的频率干扰。另一方面是由于在高层建筑林立的市区,手机接收的信号往往是基站发射信号经由不同的反射路径、散射路径、绕射路径的叠加,叠加的结果必然造成无线信号传播中的各种衰落及阴影效应,称之为多径干扰。此外,无线网络参数设置不合理也会造成上述现象。 在测试中RXQUAL的值反映了话音质量的好坏,信号质量实际是指信号误码率, RXQUAL=3(误码率:0.8%至1.6%),RXQUAL=4(误码率:1.6%至3.2%),当网络采用跳频技术时,由于跳频增益的原因,RXQUAL=3时,通话质量尚可,当RXQUAL≥6时,基本无法通话。 根据上述情况,通过对这些小区进行细致的场强覆盖测试和干扰测试,对场强覆盖测试数据进行分析,统计出RXLEV/RXQUAL之间对照表,如果某个小区域RXQUAL为6和7的采样统计数高而RXLEV大于-85dBm的采样数较高,一般可以认为该区域存在干扰。并在Neighbor-List中可分析出同频、邻频干扰频点。 5.多径干扰 如果直达路径信号(主信号)的接收电平与反射、散射等信号的接收电平差小于15dB,而且反射、散射等信号比主信号的时延超过4~5个GSM比特周期(1个比特周期=3.69μs),则可判断此区域存在较强的多径干扰。 多径干扰造成的衰落与频点及所在位置有关。多径衰落可通过均衡器采用的纠错算法得以改善,但这种算法只在信号衰落时间小于纠错码字在交织中分布占用的时间时有效。 采用跳频技术可以抑制多径干扰,因为跳频技术具有频率分集和干扰分集的特性。频率分集可以避免慢速移动的接收设备长时间处于阴影效应区,改善接收质量;而且可以充分利用均衡器的优点。干扰分集使所有的移动及基站接收设备所受干扰等级平均化。使产生干扰的几率大为减小,从而降低干扰程度。 采用天线分集和智能天线阵,对信号的选择性增强,也能降低多径干扰。 适当调整天线方位角,也可减小多径干扰。 若无线网络参数设置不合理,也会影响通话质量。如在DT测试中常常发现切换前话音质量较差,即RXQUAL较大(如5、6、7),而切换后,话音质量变得很好,RXQUAL很小(如0、1),而反方向行驶通过此区域时话音质量可能很好(RXQUAL为0、1),因为占用的服务小区不同。对于这种情况,是由于基于话音质量切换的门限值设置不合理。减小RXQUAL的切换门限值,如原先从RXQUAL≥4时才切换,改为RXQUAL≥3时就切换,可以提高许多区域的通话质量。因此,根据测试情况,找出最佳的切换地点,设置最佳切换参数,通过调整切换门限参数控制切换次数,通过修改相邻小区的切换关系提高通话质量。总之,根据场强测试可以优化系统参数。 值得一提的是,由于竞争的激烈及各运营商的越来越深化的要求,某些地方的运营商为完成任务,达到所谓的优化指标,随意调整放大一些对网络统计指标有贡献的参数,使网络看起来“质量很高”。然而,用户感觉到的仍是网络质量不好,从而招致更多用户的不满,这是不符合网络优化的宗旨的。 总之,网络优化是一项长期、艰巨的任务,进行网络优化的方法很多,有待于进一步探讨和完善。好在现在国内两大运营商都已充分认识到了这一点,网络质量也得到了迅速的提高,同时网络的经济效益也得到了充分发挥,既符合用户的利益又满足了运营商的要求,毫无疑问将是持续的双赢局面。 答案来源于网络

养狐狸的猫 2019-12-02 02:18:17 0 浏览量 回答数 0

回答

作为一个javaer,我以前写过很多关于Linux的文章。但经过多年的观察,发现其实对于大部分人,有些东西压根就用不着。用的最多的,就是到线上排查个问题而已,这让人很是苦恼。那么,我们就将范围再缩小一下。 Linux生产环境上,最常用的一套“Sed“技巧 Linux生产环境上,最常用的一套“AWK“技巧 Linux生产环境上,最常用的一套“vim“技巧 Linux命令好像还真不少,根本原因就是软件多,也有像ag这样的命令想替代grep,但大多数命令古老而坚挺。不是因为这些软件设计的有多好,原因是一些软件最开始入驻了系统,时间久了,就变成了一种约定,这种习惯改变代价太大,就像把所有键盘的L和F换一下一样。 这片文章假定你已经了解大多数Linux命令,并了解操作系统的基本元素。如果你现在了解的命令还不足10个,下面的内容就不用看了。除了最基本的东西,本文列出一些对你的面试最常见的最能加分的地方,有些组合可能是你没见过的技巧。但本文仅仅是给出一个大致的轮廓和印象,为以后的专题性考察点作一个序。 本文中出现的所有命令,应该熟记并熟练使用。 几种比较典型的Linux系统 首先对目前的Linux版本有个大体的印象,大体分Desktop版和Server版,已经是百花齐放。 Ubuntu 最常见的Linux个人发行版,一位有情怀的南非富豪,有了钱你也可以这么做 CentOS 最常用Linux服务器发新版,RHEL的开放版本,因版权而生的轮子 Arch 滚动升级,海量二进制包,社区活跃,个人最爱 Gentoo 安装软件需要从源码开始编译,稳定,但用起来会很痛 LFS 从零构建Linux,跟着做一遍,Linux每根毛都看的清清楚楚 Kali 专做渗透用的,代表了发行版的一个发展路径,就是领域 首先要了解的概念 KISS Keep it Simple and Stupid,据说是哲学 一切皆文件 通常是文件的东西叫文件,进程、磁盘等也被抽象成了文件,比较离谱的管道、设备、socket等,也是文件。 这是Linux最重要的组织方式。 管道 | 分隔,前面命令的输出作为后面命令的输入,可以串联多个 重定向 < 将文件做为命令的输入 将命令的输出输出到文件 将命令的输出追加到文件 SHELL 首先确认你的shell,一般最常用的是bash,也有不少用csh,zsh等的,通过echo $SHELL可以看到当前用户的shell,对应的配置文件也要相应改变。 比如.zshrc,.bashrc 四大元素 进入linux,我们首先关注的是四个元素: 内存,cpu,存储,网络。 Linux提供了足够的命令,让你窥探它的每个角落。 接下来的命令都是些最常用的,不管精通不精通,想不起来要打屁股。 CPU 使用top查看cpu的load,使用shift+p按照cpu排序。 需要了解wa,us等都是什么意思 使用uptime查看系统启动时间和load,load是什么意思呢? 什么算是系统过载? 这是个高频问题,别怪我没告诉你 ps命令勃大茎深,除了查进程号外,你还需要知道R、S、D、T、Z、<、N状态位的含义 top和ps很多功能是相通的,比如watch "ps -mo %cpu,%mem,pid,ppid,command ax" 相当于top的进程列表; top -n 1 -bc 和ps -ef的结果相似。 有生就有死,可以用kill杀死进程。 对java来说,需要关注kill -9、kill -15、kill -3的含义,kill的信号太多了,可以用kill -l查看,搞懂大多数信号大有裨益。 如果暂时不想死,可以通过&符号在后台执行,比如tail -f a.log &。 jobs命令可以查看当前后台的列表,想恢复的话,使用fg回到幕前。 这都是终端作业,当你把term关了你的后台命令也会跟着消失,所以想让你的程序继续执行的话, 需要nohup命令,此命令需要牢记 mpstat 显示了系统中 CPU 的各种统计信 了解cpu亲和性 内存 free -m 命令,了解free、used、cached、swap各项的含义 cat /proc/meminfo 查看更详细的内存信息 细心的同学可能注意到,CPU和内存的信息,通过top等不同的命令显示的数值是一样的。 slabtop 用来显示内核缓存占用情况,比如遍历大量文件造成缓存目录项。 曾在生产环境中遇到因执行find /造成dentry_cache耗尽服务器内存。 vmstat 命令是我最喜欢也最常用的命令之一,可以以最快的速度了解系统的运行状况。 每个参数的意义都要搞懂。 swapon、swapoff 开启,关闭交换空间 sar 又一统计类轮子,一般用作采样工具 存储 使用df -h查看系统磁盘使用概况 lsblk 列出块设备信息 du 查看目录或者文件大小 网络 rsync 强大的同步工具,可以增量哦 netstat 查看Linux中网络系统状态信息,各种 ss 它能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效。 curl、wget 模拟请求工具、下载工具。 如wget -r http://site 将下载整个站点 ab Apache服务器的性能测试工具 ifstat 统计网络接口流量状态 nslookup 查询域名DNS信息的工具,在内网根据ip查询域名是爽爆了 nc 网络工具中的瑞士军刀,不会用真是太可惜了 arp 可以显示和修改IP到MAC转换表 traceroute 显示数据包到主机间的路径,俗称几跳,跳的越少越快 tcpdump 不多说了,去下载wireshark了 wall 向当前所有打开的终端上输出信息。 使用who命令发现女神正在终端上,可以求爱 网络方面推荐安装体验一下kaliLinux,上面的工具会让你high到极点。 如何组织起来 linux的命令很有意思,除了各种stat来监控状态,也有各种trace来进行深入的跟踪,也有各种top来统计资源消耗者,也有各种ls来查看系统硬件如lsblk、lsusb、lscpi。基本上跟着你的感觉走,就能找到相应的工具,因为约定是系统中最强大的导向。 Linux有个比较另类的目录/proc,承载了每个命令的蹂躏。像sysctl命令,就是修改的/proc/sys目录下的映射项。不信看看find /proc/sys -type f | wc -l和sysctl -a| wc -l的结果是不是很像? /proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。只不过以文件系统的方式为访问系统内核数据的操作提供接口。系统的所有状态都逃不过它的火眼金睛。例如: cat /proc/vmstat 看一下,是不是和vmstat命令的输出很像? cat /proc/meminfo 是不是最全的内存信息 cat /proc/slabinfo 这不就是slabtop的信息么 cat /proc/devices 已经加载对设备们 cat /proc/loadavg load avg原来就躺在这里啊 cat /proc/stat 所有的CPU活动信息 ls /proc/$pid/fd 静静地躺着lsof的结果 一般排查问题的方法 一般排查问题也是围绕着内存cpu等几个元素去排查。下图是一张大体的排查故障或者性能问题的过程,看图,不多说。 应用场景举例 下面举例从具体应用场景来说明各种命令的组合应用,此类场景数不胜数,需要个人积累。但强烈建议将sed和awk练的熟练一些。 怎么查看某个Java进程里面占用CPU最高的一个线程具体信息? 获取进程中占用CPU最高的线程,计为n。 使用top top -H -p pid,肉眼观察之 使用ps ps -mo spid,lwp,stime,time,%cpu -p pid 将线程号转化成十六进制printf 0x%x n 使用jstack找到相应进程,打印线程后的100行信息 jstack -l pid| grep spid -A 100 统计每种网络状态的数量 netstat -ant | awk '{print $6}' | sort | uniq -c | sort -n -k 1 -r![5.jpg](https://ucc.alicdn.com/pic/developer-ecology/655b656daf0344d58dbfd798fe1460b8.jpg) 首先使用netstat查看列表,使用’awk’截取第六列,使用uniq进行统计,并对统计结果排序。当然,也可以这样。 netstat -ant | awk '{arr[$6]++}END{for(i in arr){print arr[i]" "i }}' | sort -n -k 1 -r 这和“分析apache日志,给出当日访问ip的降序列表”是一样的问题。 怎么查看哪个进程在用swap 首先要了解/proc/$pid/smaps里有我们所需要的各种信息,其中Swap字段即是我们所需要的。只要循环遍历一下即可。 for i in `cd /proc;ls |grep "^[0-9]"|awk ' $0 >100'` ;do awk '/Swap:/{a=a+$2}END{print '"$i"',a/1024"M"}' /proc/$i/smaps ;done |sort -k2nr End 软件领域有两种人才,一种是工程型的,一种是研究型的。在Linux领域里,相对于搞内核研究的来说,搞命令行的就属于工程型。工程型也有他自己的苦衷,比如,背诵命令就挺痛苦的,一般来说不太推荐背诵,第一覆盖的面不广,第二记的快忘的也快,浪费脑细胞。牛逼的记法就是用,用时间来冲淡烟云,见微知著,并体验其中的喜悦。爱她并天天抱她上床,真爱才成。 原创:小姐姐味道。

剑曼红尘 2020-04-01 11:01:13 0 浏览量 回答数 0

问题

Kubernetes 集群中负载均衡的Ingress 支持

反向一觉 2019-12-01 21:22:51 1443 浏览量 回答数 0

问题

SSH面试题

琴瑟 2019-12-01 21:46:22 3489 浏览量 回答数 0
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 云栖号物联网 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 2020阿里巴巴研发效能峰会 企业建站模板 云效成长地图 高端建站 云栖号弹性计算 阿里云云栖号 云栖号案例 云栖号直播