标签归档:nginx

ubuntu nginx 通过php5-fpm运行codeigniter应用程序配置

sudo apt-get install nginx
sudo apt-get install php5-fpm
sudo service nginx restart
sudo service php5-fpm restart

去掉nginx配置文件前边的#
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
# # NOTE: You should have “cgi.fix_pathinfo = 0;” in php.ini

# # With php5-cgi alone:
# fastcgi_pass 127.0.0.1:9000;
# # With php5-fpm:
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}

支持Codeigniter的URL路由规则

if (!-e $request_filename) {

rewrite ^/admin\.php/(.*)$ /admin.php?$1 last;
rewrite ^/(.*)$ /index.php?$1 last;
break;
}

ubuntu下整合tomcat和nginx

ngix的安装过程和简单配置前文已经说过了。而tomcat是可以随ubuntu直接整和的,这个也不是问题。重要的就是如何跳转请求。
分两步,第一步建立配置文件:

#!nginx (-) 
# proxy.conf 
proxy_redirect          off;
proxy_set_header        Host $host;
proxy_set_header        X-Real-IP $remote_addr;  #获取真实ip
#proxy_set_header       X-Forwarded-For   $proxy_add_x_forwarded_for; #获取代理者的真实ip
client_max_body_size    10m;
client_body_buffer_size 128k;
proxy_connect_timeout   90;
proxy_send_timeout      90;
proxy_read_timeout      90;
proxy_buffer_size       4k;
proxy_buffers           4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;

保存至/etc/nginx/conf.d/proxy.conf。各项配置的含义可以去查相关文档。

第二步设置跳转,在/etc/nginx/sites-avalable/defalut的server中加入如下的配置段。

location ~ .*.[jsp|do|action]$ { #所有jsp页面以及do/action请求均交由tomcat处理
    index index.jsp;
    proxy_pass http://localhost:8080; #转向tomcat处理
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { #设定访问静态文件直接读取不经过tomcat
    expires      30d;
}
location ~ .*\.(js|css)?$ {
    expires      1h;
}

然后重启ngix,就可以访问了。
ngix会将所有jsp页面以及do/action请求均交由tomcat处理交给tomcat处理。这样可以实现二者的简单整合。