当前位置:  操作系统/服务器>linux
本页文章导读:
    ▪Linux下ArcGIS Server的Tomcat不稳定问题的解决方法      Linux下ArcGIS Server的Tomcat不稳定问题的解决方法,以及nginx配置反向代理时的一个小问题。 背景:Linux上的ArcGIS Server的Tomcat进程基本上一天崩溃一次,全天在处理rest请求,压力较大。而SOM与SOC.........
    ▪nginx下wordpress中启用Rewrite的一种方法      在nginx+wordpress环境下启用Rewrite,就是在网站的server配置文件里加一段:   代码如下: location / {      try_files $uri $uri/ /index.php?q=$uri&$args;  } 经测试,完全可用。 注:若更改了wordpress.........
    ▪nginx请求伪静态处理      背景: 页面通过请求传递参数动态生成,短时间内针对所有用户的相同请求,生成的页面是一样的。 考虑到面向用户的服务器都开启了squid缓存,因此决定对请求做一个伪静态处理,使squid.........

[1]Linux下ArcGIS Server的Tomcat不稳定问题的解决方法
    来源: 互联网  发布时间: 2013-12-24

Linux下ArcGIS Server的Tomcat不稳定问题的解决方法,以及nginx配置反向代理时的一个小问题。

背景:Linux上的ArcGIS Server的Tomcat进程基本上一天崩溃一次,全天在处理rest请求,压力较大。而SOM与SOC压力较小。

解决方案:使用多个Web Service,加入另一台nginx反向代理服务器的upstream。

遇到问题:使用了反向代理的缘故,web service handler必须要用arcgis/rest方式暴露服务。所以如何配置tomcat,便成了一个比较重要的问题。

问题处理:在tomcat配置文件server.xml的host标签中加入Context,指明应用根目录。
 

代码如下:

<Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true">
  <Context path="/arcgis/rest" docBase="./arcgis/rest" reloadable="true"/>
  <!-- SingleSignOn valve, share authentication between web applications
 Documentation at: /docs/config/valve.html -->
  <!--
  <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
  -->

  <!-- Access log processes all example.
 Documentation at: /docs/config/valve.html
 Note: The pattern used is equivalent to using pattern="common" -->
  <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
   prefix="localhost_access_log." suffix=".txt"
   pattern="%h %l %u %t &quot;%r&quot; %s %b" />

</Host>
 

这样,就可以像访问arcgis server一样,访问localhost:8080/arcgis/rest了(注意修改每个REST Service Handler的SOM地址)。

在nginx中,配置为:
 

代码如下:
upstream gpsarcgis{
server 192.168.201.95:8399 max_fails=3;
server 192.168.201.96:8399 max_fails=3;
server 192.168.201.97:8399 max_fails=3;
server 192.168.201.95:8080 max_fails=3;
server 192.168.201.96:8080 max_fails=3;
server 192.168.201.97:8080 max_fails=3;
}

前三个为ArcGIS Server原始地址和端口,后面为tomcat。


    
[2]nginx下wordpress中启用Rewrite的一种方法
    来源: 互联网  发布时间: 2013-12-24

在nginx+wordpress环境下启用Rewrite,就是在网站的server配置文件里加一段:
 

代码如下:
location / { 
    try_files $uri $uri/ /index.php?q=$uri&$args; 
}

经测试,完全可用。

注:若更改了wordpress的文章链接方式,却没有启用Rewrite的话,会找不到文章的。


    
[3]nginx请求伪静态处理
    来源: 互联网  发布时间: 2013-12-24

背景:
页面通过请求传递参数动态生成,短时间内针对所有用户的相同请求,生成的页面是一样的。
考虑到面向用户的服务器都开启了squid缓存,因此决定对请求做一个伪静态处理,使squid缓存生效,以提高性能。

目前公司的线上服务器是Nginx的,我内网本地装的是Apache,测试服务器上是Nginx,因此对于这两种服务器,都进行了处理。

先说一下Apache。Apache的伪静态既可以在配置文件中进行设置,也可以通过.htaccess文件配置,我是选择的后者。伪静态其实就是rewrite,因此需要先开启rewrite模块,即:
LoadModule rewrite_module modules/mod_rewrite.so
 
然后因为要使用到.htaccess,还需在虚拟主机中设置:
AllowOverride All

然后在请求入口位置的.htaccess中按正则匹配进行伪静态参数设置:
 

代码如下:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^index/content/([\w]+)/([^/]+).html$ /news/index/content/?uid=$1&title=$2 [NC,L]
RewriteRule ^.*$ index.php [NC,L]
 

 
其他内容都和平时没什么差别,关键就在着色这一句,红色部分为真实请求的匹配,蓝色部分为参数映射,其中红色部分的每一个小括号对应蓝色部分的一个参数变量,参数变量以$符号标识,按数字递增。
比如上面的([\w]+)对应的就是$1,([^/]+)对应$2,以此类推。
假如一个请求为http://zx..cn/news/index/content/param1/param2.html,经过上面的处理后,就会变成http://zx..cn/news/index/content/?uid=param1&title=param2。
 
再来看看Nginx。
 

代码如下:
location / {
rewrite ^/news/index/content/([\w]+)/([^/]+).html$/news/index/content/?uid=$1&title=$2last;
    index  index.php index.html index.htm;
    if (!-e $request_filename) {
         rewrite ^/(\w+)/(.*)$ /$1/index.php last;
    }
}

Nginx其实和Apache的配置类似,看下二者的区别吧:
1.标识名:Apache是ReWriteRule,Nginx是rewrite。
2.Apache的路径是以.htaccess为基准,且不能在开头加上斜杠(/);Nginx的路径是以虚拟主机为基准,开头必须加上斜杠。
3.尾标签不同。
4.Nginx是直接写在配置文件中,Apache既可写在配置文件中,也可以写在.htaccess文件中。


    
最新技术文章:
▪linux系统中的列出敏感用户的脚本代码
▪a10 config backup for aXAPI
▪一键备份gitolite服务器的Shell脚本
▪nagios 分发文件实现代码
▪阿里云云服务器Linux系统更新yum源Shell脚本
▪一个监控LINUX目录和文件变化的Shell脚本分享
▪Linux下实现SSH免密码登录和实现秘钥的管理、...
▪Shell正则表达式之grep、sed、awk实操笔记
▪3个备份系统文件并邮件发送的Shell脚本分享
▪CentOS 6.3下给PHP添加mssql扩展模块教程
▪监控网站是否可以正常打开的Shell脚本分享
▪shell脚本编程之if语句学习笔记
▪shell脚本编程之循环语句学习笔记
▪shell脚本编程之case语句学习笔记
▪Shell脚本实现的阳历转农历代码分享
▪Shell脚本实现复制文件到多台服务器的代码分...
▪Shell脚本实现批量下载网络图片代码分享
▪Shell脚本实现检测文件是否被修改过代码分享
▪Shell脚本数组用法小结
▪Shell脚本批量重命名文件后缀的3种实现
▪C语言实现的ls命令源码分享
▪Linux下查找后门程序 CentOS 查后门程序的shell脚...
▪Shell 函数参数
▪linux shell 自定义函数方法(定义、返回值、变...
▪Shell实现判断进程是否存在并重新启动脚本分...
▪Shell脚本break和continue命令简明教程
▪Shell脚本函数定义和函数参数
▪让代码整洁、过程清晰的BASH Shell编程技巧
▪shell常用重定向实例讲解
▪awk中RS、ORS、FS、OFS的区别和联系小结
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3