# 服务层

# https://github.com/farwish/alconservice

# alconservice.conf

server {
listen 8090;
root /home/www/alconService/public; location / {
index index.html index.htm index.php;
try_files $uri $uri/ /index.php?_url=$uri&$args;
} location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
} location /favicon.ico {
log_not_found off;
access_log off;
} access_log logs/alconservice.access.log;
}

# 前端应用

# front.yk.conf

server {
listen 80;
server_name front.kkys.com; root /home/www/web; location / {
index index.html index.htm index.php;
} location /api/ {
proxy_pass http://dev.kkys.com/yk/;
} location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params; #fastcgi_param PATH_INFO $fastcgi_path_info;
#fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
#fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}

# 社区接口

# yk.up

server {
listen 81;
root /home/www/Yk/public; location / {
index index.html index.htm index.php;
try_files $uri $uri/ /index.php?_url=$uri&$args;
} location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
} location /favicon.ico {
log_not_found off;
access_log off;
} access_log logs/yk.access.log;
}

# 检索接口

https://github.com/farwish/alconseek

# speed.up

server {
listen ;
root /home/www/speed/public; location / {
index index.html index.htm index.php;
try_files $uri $uri/ /index.php?_url=$uri&$args;
} location ~ \.php$ {
fastcgi_pass 127.0.0.1:;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
} location /favicon.ico {
log_not_found off;
access_log off;
} access_log logs/speed.access.log;
}

# 百科接口

# baike.up

server {
listen ;
root /home/www/baike/public; location / {
index index.html index.htm index.php;
try_files $uri $uri/ /index.php?_url=$uri&$args;
} location ~ \.php$ {
fastcgi_pass 127.0.0.1:;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
} location /favicon.ico {
log_not_found off;
access_log off;
} access_log logs/baike.access.log;
}

# 后端接口总代理

# proxy-all.conf

# 注意路径: 当前文件由nginx.conf引用
include vhost/*.up; upstream yk-backend {
server 127.0.0.1:81;
}
upstream speed-backend {
server 127.0.0.1:82;
}
upstream baike-backend {
server 127.0.0.1:83;
} server {
listen 80;
server_name dev.kkys.com; location / {
root /home/www;
index index.html index.htm index.php;
} location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
} # 结尾不加/,访问记录是 //frontend/index/detail/1212
# 加了/,访问记录是 /frontend/index/detail/1212
location /yk/ {
proxy_pass http://yk-backend/;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
}
location /speed/ {
proxy_pass http://speed-backend/;
}
location /baike/ {
proxy_pass http://baike-backend/;
}
}

# 用户中心

# ucenter.conf

server {
listen 8092;
root /home/www/ucenter-front; location / {
index index.html index.htm index.php;
try_files $uri $uri/ /index.php?_url=$uri&$args;
}
} server {
listen 8093;
root /home/www/ucenter/public; location / {
index index.html index.htm index.php;
try_files $uri $uri/ /index.php?_url=$uri&$args;
} location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
} upstream ucenter-front {
server 127.0.0.1:8092;
} upstream ucenter {
server 127.0.0.1:8093;
} server {
listen 80;
server_name ucenter.com; location / {
index index.html index.htm index.php;
try_files $uri $uri/ /index.php?_url=$uri&$args;
} location /favicon.ico {
log_not_found off;
access_log off;
} location /pcenter/ {
proxy_pass http://ucenter-front/;
} location /ucenter/ {
proxy_pass http://ucenter/;
}
}

以上 location 的配置是针对 phalcon 框架而言,下面是针对 symfony 应用的。

symfony.conf

server {
listen 80;
server_name symfony.com;
root /home/www/symfony/web; location / {
index index.html index.htm index.php;
try_files $uri /app.php$is_args$args;
} # DEV
location ~ ^/(app_dev|config)\.php(/|$) {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
} # PROD
location ~ ^/app\.php(/|$) {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; # symfony.com/app.php/some-path
# Remove the internal directive to allow URIs like this.
#internal;
} access_log logs/symfony.access.log;
}

小结:

多应用基于项目拆分的场景或思想,独立开发、独立部署,可以做到互不影响,如同前后端分离一样。

这里大家会发现,反向代理不仅可以简化多应用的部署,还能做到负载均衡,只需增加 upstream机器 就能横向扩展。

其实也完全可以 以大模块的方式整合成一个强大应用,从易维护上来讲更容易一点。两种方式都各有优势。

Link:http://www.cnblogs.com/farwish/p/6128712.html

[Nginx]单机环境的多应用配置的更多相关文章

  1. Twitter Storm:单机环境的安装与配置

    Twitter Storm:单机环境的安装与配置 好久没写博客了,这一段时间一直被导师push着做毕业设计.由于目前的方向偏向于图像识别检索,毕设打算做一个基于分布式计算平台的图像检索系统,查阅相关资 ...

  2. 转:Nginx+Apache环境的安装与配置

    转:http://www.server110.com/nginx/201404/8817.html 我们依然尽可能采用yum来安装我们需要的软件,由系统官方维护的软件,其安全性和稳定性都值得信赖,并且 ...

  3. Nginx+Apache环境的安装与配置

    我们依然尽可能采用yum来安装我们需要的软件,由系统官方维护的软件,其安全性和稳定性都值得信赖,并且容易管理,升级方便,但是在CentOS和RHEL的官方yum源中暂时没有Nginx等软件包,所以我们 ...

  4. windows下配置nginx+php环境

    刚看到nginx这个词,我很好奇它的读法(engine x),我的直译是"引擎x",一般引"擎代"表了性能,而"x"大多出现是表示" ...

  5. MongoDB3.0.x版本用户授权配置(单机环境)

    MongoDB数据库默认情况下是没有做权限控制的,只要能够连接所开放的端口就能进行访问,而且拥有root级别的权限:对于生产环境而言是极不安全的,所以需要建立用户,进行授权控制. 单机环境下的用户授权 ...

  6. solr单机环境配置并包含外部单机zookeeper

    首先和之前一样下载solr-5.3.1.tgz,然后执行下面命令释放文件并放置在/usr/目录下: $ .tgz $ /usr/ $ cd /usr/solr- 这个时候先不用启动solr,因为单机模 ...

  7. (转)windows下配置nginx+php环境

    原文地址 http://www.cnblogs.com/huayangmeng/archive/2011/06/15/2081337.html 刚看到nginx这个词,我很好奇它的读法(engine ...

  8. hbase单机环境的搭建和完全分布式Hbase集群安装配置

    HBase 是一个开源的非关系(NoSQL)的可伸缩性分布式数据库.它是面向列的,并适合于存储超大型松散数据.HBase适合于实时,随机对Big数据进行读写操作的业务环境. @hbase单机环境的搭建 ...

  9. LNMP环境搭建:Nginx安装、测试与域名配置

    Nginx作为一款优秀的Web Server软件同时也是一款优秀的负载均衡或前端反向代理.缓存服务软件 2.编译安装Nginx (1)安装Nginx依赖函数库pcre pcre为“perl兼容正则表达 ...

随机推荐

  1. Yii2.0源码阅读-一次请求的完整过程

    Yii2.0框架源码阅读,从请求发起,到结束的运行步骤 其实最初阅读是从yii\web\UrlManager这个类开始看起,不断的寻找这个类中方法的调用者,最终回到了yii\web\Applicati ...

  2. atom编辑器启动后文件不能编辑的解决办法

    今天更新了atom,并且安装了很多插件,突然发现所有页面不能编辑了,如图 这个光标块会自动跳到单词后面,后来发现按一下键盘的字母a就变成正常光标了,至于原因,折腾了一个小时也没发现,后来百度到用Ctr ...

  3. hdu_1370Biorhythms(互素的中国剩余定理)

    Biorhythms Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total ...

  4. ACM_扩展欧几里德算法

    <pre name="code" class="cpp">/* 扩展欧几里德算法 基本算法:对于不完全为 0 的非负整数 a,b,gcd(a,b)表 ...

  5. 详解:Python2中的urllib、urllib2与Python3中的urllib以及第三方模块requests

    在python2中,urllib和urllib2都是接受URL请求的相关模块,但是提供了不同的功能.两个最显著的不同如下: 1.urllib2可以接受一个Request类的实例来设置URL请求的hea ...

  6. 解决get乱码

    也可以在tomcat中修改,但是每次配置tomcat中都得修改.容易忘记,还是图片这个方法最好,推荐

  7. word文档自动生成方法

    创建word文档需要几个接口类,常用application,document,documents,selection等.但word的功能复杂,要认识到每一个类的功能是不可能的.常用的方法是在word的 ...

  8. mybatis sql循环的使用

    foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合. foreach元素的属性主要有 item,index,collection,open,separator,close. ...

  9. SecurityException

    摘录自http://www.cnblogs.com/haorenjie/archive/2012/09/12/2682655.html public boolean checkNetwork() { ...

  10. Python-Blog2-编写Web app 骨架

    撸代码之前让我们先来看几个概念: 什么是协程(Coroutine)? 假设现在有两个子程序,子程序A和子程序B: def A(): print('1') print('2') print('3') d ...