[Nginx]单机环境的多应用配置
# 服务层
# 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]单机环境的多应用配置的更多相关文章
- Twitter Storm:单机环境的安装与配置
Twitter Storm:单机环境的安装与配置 好久没写博客了,这一段时间一直被导师push着做毕业设计.由于目前的方向偏向于图像识别检索,毕设打算做一个基于分布式计算平台的图像检索系统,查阅相关资 ...
- 转:Nginx+Apache环境的安装与配置
转:http://www.server110.com/nginx/201404/8817.html 我们依然尽可能采用yum来安装我们需要的软件,由系统官方维护的软件,其安全性和稳定性都值得信赖,并且 ...
- Nginx+Apache环境的安装与配置
我们依然尽可能采用yum来安装我们需要的软件,由系统官方维护的软件,其安全性和稳定性都值得信赖,并且容易管理,升级方便,但是在CentOS和RHEL的官方yum源中暂时没有Nginx等软件包,所以我们 ...
- windows下配置nginx+php环境
刚看到nginx这个词,我很好奇它的读法(engine x),我的直译是"引擎x",一般引"擎代"表了性能,而"x"大多出现是表示" ...
- MongoDB3.0.x版本用户授权配置(单机环境)
MongoDB数据库默认情况下是没有做权限控制的,只要能够连接所开放的端口就能进行访问,而且拥有root级别的权限:对于生产环境而言是极不安全的,所以需要建立用户,进行授权控制. 单机环境下的用户授权 ...
- solr单机环境配置并包含外部单机zookeeper
首先和之前一样下载solr-5.3.1.tgz,然后执行下面命令释放文件并放置在/usr/目录下: $ .tgz $ /usr/ $ cd /usr/solr- 这个时候先不用启动solr,因为单机模 ...
- (转)windows下配置nginx+php环境
原文地址 http://www.cnblogs.com/huayangmeng/archive/2011/06/15/2081337.html 刚看到nginx这个词,我很好奇它的读法(engine ...
- hbase单机环境的搭建和完全分布式Hbase集群安装配置
HBase 是一个开源的非关系(NoSQL)的可伸缩性分布式数据库.它是面向列的,并适合于存储超大型松散数据.HBase适合于实时,随机对Big数据进行读写操作的业务环境. @hbase单机环境的搭建 ...
- LNMP环境搭建:Nginx安装、测试与域名配置
Nginx作为一款优秀的Web Server软件同时也是一款优秀的负载均衡或前端反向代理.缓存服务软件 2.编译安装Nginx (1)安装Nginx依赖函数库pcre pcre为“perl兼容正则表达 ...
随机推荐
- CTF---Web入门第十四题 忘记密码了
忘记密码了分值:20 来源: Justatest 难度:中 参与人数:7706人 Get Flag:2232人 答题人数:2386人 解题通过率:94% 找回密码 格式:SimCTF{ } 解题链接: ...
- LCS最长公共子序列~dp学习~4
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1513 Palindrome Time Limit: 4000/2000 MS (Java/Others ...
- Ping pong(树状数组求序列中比某个位置上的数小的数字个数)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2492 Ping pong Time Limit: 2000/1000 MS (Java/Others) ...
- [国嵌攻略][065][DM9000驱动程序设计]
移植代码:通过已有的可用的代码修改到新环境下运行. 代码编写: 初始化网卡 1.选中网卡 nLAN_CS BWSCON(0x48000000) DW4:01 16bit BANKCON4(0x4800 ...
- webpack优化之code splitting
作为当前风头正盛的打包工具,webpack风靡前端界.确实作为引领了一个时代的打包工具,很多方面都带来了颠覆性的改进,让我们更加的感受到自动化的快感.不过最为大家诟病的一点就是用起来太难了. 要想愉快 ...
- 如何节省 1TB 图片带宽?解密极致图像压缩
欢迎大家前往云+社区,获取更多腾讯海量技术实践干货哦~ 作者:Gophery 本文由 腾讯技术工程官方号 发布在云+社区 图像已经发展成人类沟通的视觉语言.无论传统互联网还是移动互联网,图像一直占据着 ...
- 织梦CMS搭建网站必做的服务器相关安全设置
http://help.dedecms.com/install-use/server/2011/1109/2124.html#printSource http://www.aliweihu.com/9 ...
- 实现LNMP
实现LNMP 环境: linux系统机器 A:一台N:nginx,ip:192.168.213.251 B:一台P:php-fpm,php-mysql ,ip:192.168.213.253 C:一台 ...
- 【开发技术】Beyond Compare
黑色表示左右两侧的文件(夹)是一样的; 紫色表示右(左)侧是完全没有的,这时我们右击这个文件(夹),选择“复制到右(左)侧”即可: 红色表示两边都有这个文件(夹),但不完全相同,这时你就要权衡一下修改 ...
- J.U.C CAS
在JDK1.5之前,也就是J.U.C加入JDK之前,Java是依靠synchronized关键字(JVM底层提供)来维护协调对共享字段的访问,保证对这些变量的独占访问权,并且以后其他线程忽的该锁时,将 ...