门户网站CDN+Nginx+Javaee应用服务器集成项目实施过程



项目介绍:

一建设中的地方信息门户网站,资讯,分类信息,B2B等应用,原项目为一分布式javaee系统,jersey,hornetQ,ssh等,现在需要DN+Nginx+Javaee应用服务器集成,
增加动静分离,无状态HTTP,微服务架构,CDN等特性。以下为项目小结,希望对大家进行此类项目有帮助。



网站新闻平台主要架构


网站新闻资讯类服务子域名:

www.nf256.com 门户入口
news.nf256.com 稔花网新闻阅读服务节点
cdn.nf256.com 网站公共CDN加速
uc.nf256.com 新闻会员中心
newsadmin.nf256.com 网站管理中心
newssearch.nf256.com 新闻搜索平台

WEB硬件服务器:


*.244 反向代理服务器。

     配置:双核 4G内存,5M宽带;布署软件:nginx


*.93 网站应用服务器


    配置:四核 6G内存,5M宽带;布署软件:jdnews/Java/tomcat/MySQL/hsqldb/opendocService等。




网站应用服务器架构:

nginx+tomcat+mysql+文件服务系统+hsqldb+mongodb等。


CDN接入方式:

1)NS接入,需要修改域名解析服务器。
2)CName接入,修改子域名。


本站采用CName接入,修改子域名news.nf256.com 解析到百度的CDN。



 nf256.com  设置TXT记录  628539828-26472037



news.nf256.com  设置CNAME  news.nf256.com.cname.yunjiasu-cdn.net




子域名:news.nf256.com,百度CDN:news.nf256.com.cname.yunjiasu-cdn.net。








CName接入操作步骤:


1)百度CDN平台操作

http://next.su.baidu.com/console/website.html

CName接入,修改子域名。

子域
 
记录值
nf256.com
设置TXT记录
628539828-26472037
复制
news.nf256.com
设置CNAME
news.nf256.com.cname.yunjiasu-cdn.net




2)域名服务商域名管理中心修改子哉名:



主机记录    记录类型    记录值                    MX优先级    
cdn        CNAME        news.nf256.com.cname.yunjiasu-cdn.net    0


在widnows 命令行下ping 一下 news.nf256.com 是否已指向百度CDN 子域名.


C:\Users\Administrator>ping news.nf256.com

正在 Ping news.nf256.com.cname.yunjiasu-cdn.net [116.31.127.94] 具有 32 字节的数
据:
来自 116.31.127.94 的回复: 字节=32 时间=5ms TTL=57
来自 116.31.127.94 的回复: 字节=32 时间=4ms TTL=57
来自 116.31.127.94 的回复: 字节=32 时间=4ms TTL=57
来自 116.31.127.94 的回复: 字节=32 时间=6ms TTL=57

116.31.127.94 的 Ping 统计信息:
    数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
    最短 = 4ms,最长 = 6ms,平均 = 4ms

以上信息显示域名解析成功。



3)反向代理服务器操作:

目标:将news.nf256.com的请求从服务器*.244反向代理到应用服务器*.93的Tomcat jdnews 应用上。


后端应用:http://*.93:8010/news_t/


进入网站nginx的配置目录:

[nf256admin@i-2-2611-VM PortalApp]# cd /apps/KgHost/server/proxServer/nginx-1.9.0/conf/PortalApp/nf256.com/


[nf256admin@i-2-2611-VM nf256.com]# vi news.nf256.com.conf


        #news_t.nf256.com  8010 /news_t/
        server {

        listen       80;
        #news_t.nf256.com  8010 /news_t/
        server {

        listen       80;
        server_name  news.nf256.com;


        location =/
        {
         proxy_set_header Host $host;
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        proxy_pass http://*.93:8010/news_t/;
        }
     
    ...其它略
        location /
        {
         proxy_set_header Host $host;
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        proxy_pass http://*.93:8010/news_t/;
        }

        }
        #end server     


列出全部域名配置:

[nf256admin@i-2-2611-VM nf256.com]# ls

admin.nf256.com.conf  blog.nf256.com.conf  news.nf256.com.conf       img.nf256.com.conf   mall.nf256.com.conf  newsadmin.nf256.com.conf  prj.nf256.com.conf   vike.nf256.com.conf  www.nf256.com.conf
bbs.nf256.com.conf    book.nf256.com.conf  cms.nf256.com.conf  info.nf256.com.conf  mobi.nf256.com.conf  news.nf256.com.conf       shop.nf256.com.conf  web.nf256.com.conf

列表中已出现添加成功的域名反向代理配置news.nf256.com.conf :



测试配置是否生效:
[nf256admin@i-2-2611-VM nf256.com]# /apps/KgHost/server/proxServer/nginx-1.9.0/sbin/nginx -t
nginx: the configuration file /apps/KgHost/server/proxServer/nginx-1.9.0/conf/nginx.conf syntax is ok
nginx: configuration file /apps/KgHost/server/proxServer/nginx-1.9.0/conf/nginx.conf test is successful
[nf256admin@i-2-2611-VM nf256.com]#


重启nginx,使网站反向代理生效。


/apps/KgHost/server/proxServer/nginx-1.9.0/sbin/nginx -s reload



致此,nginx服务器完成。




4)整体测试 看看 CDN/Nginx/java应用服务器是否集成功。

    比较简单,打开浏览器,输入http://news.nf256.com/,看到网页内容即成功。




5)测试网站CDN加速后的性能





有关CDN接入说明:


修改NS和CNAME设置


1:NS 接入说明

 

一般情况下,在域名托管商的用户界面,可以在”域名管理”功能模块中找到类似”修改域名DNS”的功能,进行NS记录的替换。您可以参考下列示例进行设置。

新网NS接入示例

万网NS接入示例

西部数码NS接入示例

 

2:cname接入说明

 

一般情况下,在域名托管商的用户界面,可以在”域名管理”功能模块中找到类似”别名”或”cname”的功能设置,进行cname记录的设置。您可以参考下列示例进行设置。

新网cname接入示例

万网cname接入示例

西部数码cname接入示例

 

 其他域名服务商的NS或cname接入可参考上述示例进行设置,如果您对接入有疑问,欢迎联系我们的客服咨询。

项目后记:

   1) nginx的日志分割是个问题,不支持按日分割,需自行处理。

   2)JDnews 新闻平台还存不少bug,开发过程最好有自己团队。

  3)稔花其它项目需要加快上线,老付要抓紧安排

 4)建设网站部分板块启用nginx压缩。

 5)广州那边的团队要加快B2B板块的开发,使稔花网初步上线。

 6)静态文件服务系统是否要改分布式,还是采集高密度服务器方案?

 

文章标签:免费CDN 门户网站 jdnews nginx tomcat集成 稔花网新闻平台实施小结

你可能感兴趣的:(nginx,tomcat集成,免费cdn,门户网站,jdnews)