阿里云ECS每天一件事D8:整合nginx和php

nginx本身的并不能解析php或者jsp,要转发给后端的php或者tomcat以及其他类似的应用程序服务器来提供服务。

首先我需要完成的配置是实现与php的整合,典型的配置信息如下:

 1 server {
 2     listen      80;
 3     server_name domain;
 4     root        /data/web/domain;
 5
 6     location ~ \.php($|/) {
 7       fastcgi_index index.php;
 8       fastcgi_pass 127.0.0.1:9000;
 9
10       fastcgi_split_path_info ^(.+\.php)(.*)$;
11       fastcgi_param   PATH_INFO $fastcgi_path_info;
12
13       fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
14       include fastcgi_params;
15     }
16
17     if (!-e $request_filename) {
18       rewrite ^/(.*)$  /error.php?a1=$1&a2=$2&a3=$3 last;
19       rewrite ^/(.*)$  /index.php/$1 last;
20       break;
21     }
22
23     location ~* \.(gif|jpg|png)$ {
24       access_log off;
25       expires 4h;
26     }
27
28     location ~ /\.ht {
29       deny all;
30     }
31 }

解释:

Line6-Line15:典型的php转发配置,将php请求,fastcgi方式转发至9000端口的php-fpm监听程序处理;

Line17-Line21:CI框架的特殊配置重写规则,即当文件不存在时,转发至CI的首页处理。此段配置,务必在Line15行之后。前段时间,一直将这两段分数搞反了,以至于很长一段时间,CI运行都不正常,只能识别出默认的路由,或者就是404,或者就是转发到默认路由。

时间: 2024-07-30 23:45:49

阿里云ECS每天一件事D8:整合nginx和php的相关文章

阿里云ECS每天一件事D5:安装php5.4.34

原本是想把php和nginx合在一起来说的,不过考虑后,还是分开来做吧,已熟悉的更透彻一些. 1.准备类库 yum install autoconf automake libtool re2c flex bison zlib libmbfl libxml2 libxml2-devel bzip2 bzip2-devel curl libcurl libcurl-devel libmcrypt libmcrypt-devel gd gd-devel php-gd 主要准备一些常用的php类库,例如

阿里云ECS每天一件事D4:源代码安装mysql5.5.40

Linux平台上MySQL也没什么好说的了,首先准备一下软件环境: yum install gcc gcc-c++ gcc-g77 autoconf automake make cmake bison make perl perl-devel ncurses ncurses-devel 基本安装完如上的类库环境等,安装mysql就没什么问题了. 1.配置 cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -D

阿里云ECS每天一件事D6:安装nginx-1.6.2

自从接触nginx就开始喜欢上这个小东西了,似乎没什么特别的原因,就是喜欢而已. 1.安装环境的准备 yum install pcre pcre-devel openssl openssl-devel 由于前面的安装,大多数环境和类库已经准备完毕,只需要安装rewrite依赖和ssl相关的组件即可. 2.编译配置 ./configure --prefix=/usr/local/nginx –user=www-data –group=www-data --with-http_ssl_module

阿里云ECS每天一件事D9:nginx1.7整合tomcat8.0

仅通过8080端口访问jsp显然不是一算是一个太好的方法,可以使用nginx的proxy_pass子模块,实现nginx转发jsp请求至tomcat. 典型的配置如下: 1 server { 2 listen 80; 3 server_name domain; 4 root /data/web/domain; 5 access_log logs/domain/access.log; 6 7 location / { 8 index index.jsp; 9 } 10 11 location ~

阿里云ECS在CentOS 6.9中使用Nginx提示:nginx: [emerg] socket() [::]:80 failed (97: Address family not supported by protocol)的解决方法

说明: 1.[::]:80这个是IPv6的地址. 2.阿里云截至到今天还不支持IPv6. 解决方式: 1.普通解决方式:开启IPv6的支持,不过这个方法在阿里云行不通. vim /etc/nginx/conf.d/default.conf #找到并替换为以下: listen 80; listen [::]:80 ipv6only=on default_server; 2.极端方式:直接屏蔽IPv6,全部服务器都适用. vim /etc/nginx/conf.d/default.conf #找到并

阿里云ECS安全防护小记

注册开通阿里云没几天,就有20多次SSH密码破解攻击,基本都被云盾拦截了.SSH密码一定要设复杂些,常用或太简单的密码很容易被攻陷. 下面是密码破解企图的IP记录: 以被拦截8次的123.57.253.27 IP为例,百度下: 如上,可以看到中国科大记录的该IP ssh_password_scan 扫描ssh密码企图. 查了下有两种常用暴力密码破解工具:Hydra.Medusa.可以参考如下三篇文章(仅作技术研究用,请勿作恶): http://blog.csdn.net/jesse__zhong

阿里云ecs环境配置

在阿里云 CentOS 服务器(ECS)上搭建 nginx + mysql + php-fpm 环境 https://ninghao.net/blog/1368 阿里云ecs从购买到环境搭建和建站!!(phpstudy一件包 https://bbs.aliyun.com/read/165947.html

阿里云ECS和RDS部分操作

最近外网想部署一个java web项目,因此购买了阿里云ECS 1核1G,linux centos系统.ecs只够安装jdk,tomcat.so数据库先用了免费的RDS试用期. 1.使用RDS刚开始时,发现用数据库连接在本地客户端连接不上,后来发现是需要RDS设置白名单设置对应ip才能连接成功. 2.tomcat部署项目时,在config/service.xml中配置了对应项目的配置以方便访问.在Host之间配置以下一行配置,项目放在tomcat/webapps/下,以下context中path

Highcharts纯js图表库,以后可以跟客户说,你跟阿里云ECS用的图表库是同款

Highcharts是一款纯javascript编写的图表库,能够很简便的在Web网站或Web应用中添加交互性的图表,Highcharts目前支持直线图.曲线图.面积图.柱状图.饼图.散点图等多达18种不同类型的图表,可以满足常用的Web图表需求 ! 近来维护我的阿里云服务器,进入后台偶然发现阿里云管理后台数据图表用的也是Highcharts,刚好正需要WEB端展示数据的东西,研究哈… Highcharts官网:http://www.highcharts.com Highcharts中文站:ht