山东网站建设培训,网页制作 软件,网站页面策划,上海高品质网站建设Nginx 反向代理是一种常见的应用场景#xff0c;它允许 Nginx 作为中间服务器接收客户端的请求#xff0c;并代理转发这些请求到后端的真实服务器。这种配置使得客户端只需要与 Nginx 交互#xff0c;而后端服务器对客户端是透明的。 ngx_http_proxy_module#xff1a; 将客…   Nginx 反向代理是一种常见的应用场景它允许 Nginx 作为中间服务器接收客户端的请求并代理转发这些请求到后端的真实服务器。这种配置使得客户端只需要与 Nginx 交互而后端服务器对客户端是透明的。 ngx_http_proxy_module 将客⼾端的请求以http协议转发⾄指定服务器进⾏处理。
ngx_stream_proxy_module将客⼾端的请求以tcp协议转发⾄指定服务器处理。
ngx_http_fastcgi_module将客⼾端对php的请求以fastcgi协议转发⾄指定服务器助理。
ngx_http_uwsgi_module将客⼾端对Python的请求以uwsgi协议转发⾄指定服务器处理 实现http反向代理 server {listen 80;server_name yourdomain.com;location / {# 设置 HTTP 反向代理将请求转发到后端服务器proxy_pass http://backend_server;# 其他反向代理相关配置# ...}# 其他配置# ...
} proxy_pass
#⽤来设置将客⼾端请求转发给的后端服务器的主机可以是主机名、IP地址端⼝的⽅式也可以代理到预先设置的
主机群组需要模块gx_http_upstream_module⽀持。
location /web {
index index.html;
proxy_pass http://10.0.7.205:80;
#不带斜线将访问的/web,等于访问后端服务器 http://192.168.7.103:80/web/index.html即后端服务器配置的站点根⽬录要有web⽬录才可以被访问这是⼀个追加/web到后端服务器
http://servername:port/WEB/INDEX.HTML的操作
proxy_pass http://10.0.7.205:80/;
#带斜线等于访问后端服务器的http://192.168.7.103:80/index.html 内容返回给客⼾端
} proxy_hide_header field;
#⽤于nginx作为反向代理的时候在返回给客⼾端http响应的时候隐藏后端服务版本相应头部的信息可以设置在
http/server或location块
location /web {
index index.html;
proxy_pass http://10.0.7.205:80/;
proxy_hide_header ETag;
}proxy_pass_header field;
#默认nginx在响应报⽂中不传递后端服务器的⾸部字段Date, Server, X-Pad, X-Accel等参数如果要传递的
话则要使⽤ proxy_pass_header field声明将后端服务器返回的值传递给客⼾端。proxy_pass_request_body on | off
#是否向后端服务器发送HTTP包体部分,可以设置在http/server或location块默认即为开启proxy_pass_request_headers on | off
#是否将客⼾端的请求头部转发给后端服务器可以设置在http/server或location块默认即为开启proxy_set_header
#可以更改或添加客⼾端的请求头部信息内容并转发⾄后端服务器⽐如在后端服务器想要获取客⼾端的真实IP的时
候就要更改每⼀个报⽂的头部如下
#proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-For $remote_addr;
#添加HOST到报⽂头部如果客⼾端为NAT上⽹那么其值为客⼾端的共⽤的公⽹IP地址常⽤于在⽇之中记录客⼾端的
真实IP地址。proxy_connect_timeout time
#配置nginx服务器与后端服务器尝试建⽴连接的超时时间默认为60秒⽤法如下
proxy_connect_timeout 60s
#60s为⾃定义nginx与后端服务器建⽴连接的超时时间proxy_read_time time
#配置nginx服务器向后端服务器或服务器组发起read请求后等待的超时时间默认60s
proxy_send_time time
#配置nginx项后端服务器或服务器组发起write请求后等待的超时时间默认60sproxy_http_version 1.0
#⽤于设置nginx提供代理服务的HTTP协议的版本默认http 1.0proxy_ignore_client_abort off
#当客⼾端⽹络中断请求时nginx服务器中断其对后端服务器的请求。即如果此项设置为on开启则服务器会忽略客
⼾端中断并⼀直等着代理服务执⾏返回如果设置为off则客⼾端中断后Nginx也会中断客⼾端请求并⽴即记录499⽇
志默认为off。proxy_headers_hash_bucket_size 128
#当配置了 proxy_hide_header和proxy_set_header的时候⽤于设置nginx保存HTTP报⽂头的hash表的上
限。
proxy_headers_hash_max_size 512
#设置proxy_headers_hash_bucket_size的最⼤可⽤空间
server_namse_hash_bucket_size 512;
#server_name hash表申请空间⼤⼩
server_names_hash_max_szie 512;
#设置服务器名称hash表的上限⼤⼩ 反向代理示例   指定location    反向代理缓存 proxy_cache zone | off; 默认off
#指明调⽤的缓存或关闭缓存机制Context:http, server, locationproxy_cache_key string;
#缓存中⽤于“键”的内容默认值proxy_cache_key $scheme$proxy_host$request_uri;proxy_cache_valid [code ...] time;
#定义对特定响应码的响应内容的缓存时⻓定义在http{...}中
⽰例:
proxy_cache_valid 200 302 10m;
proxy_cache_valid 404 1m;proxy_cache_path;
定义可⽤于proxy功能的缓存Context:http
proxy_cache_path path [levelslevels] [use_temp_pathon|off] keys_zonename:size
[inactivetime] [max_sizesize] [manager_filesnumber] [manager_sleeptime]
[manager_thresholdtime] [loader_filesnumber] [loader_sleeptime]
[loader_thresholdtime] [purgeron|off] [purger_filesnumber] [purger_sleeptime]
[purger_thresholdtime];⽰例在http配置定义缓存信息
proxy_cache_path /var/cache/nginx/proxy_cache #定义缓存保存路径proxy_cache会⾃动创建
levels1:2:2 #定义缓存⽬录结构层次1:2:2可以⽣成2^4x2^8x2^81048576个⽬录
keys_zoneproxycache:20m #指内存中缓存的⼤⼩主要⽤于存放key和metadata(如使⽤次数)
inactive120s #缓存有效时间
max_size1g; #最⼤磁盘占⽤空间磁盘存⼊⽂件内容的缓存空间最⼤值调⽤缓存功能需要定义在相应的配置段如server{...}或者location等
proxy_cache proxycache;
proxy_cache_key $request_uri;
proxy_cache_valid 200 302 301 10m; #指定的状态码返回的数据缓存多⻓时间
proxy_cache_valid any 1m;proxy_cache_use_stale error http_502 http_503;
#在被代理的后端服务器出现哪种情况下可直接使⽤过期的缓存响应客⼾端
proxy_cache_use_stale error | timeout | invalid_header | updating | http_500 | http_502
| http_503 | http_504 | http_403 | http_404 | off ; #默认是offproxy_cache_methods GET | HEAD | POST ...;
#对哪些客⼾端请求⽅法对应的响应进⾏缓存GET和HEAD⽅法总是被缓存 未配置缓存压测   配置缓存压测 #要缓存的URL 或者放在server配置项对所有URL都进⾏缓存   添加头部报文信息 在 Nginx 反向代理中你可以使用 proxy_set_header 指令来添加头部报文信息。这个指令用于在代理请求转发到后端服务器之前向请求的头部中添加新的字段和值 #添加⾃定义⾸部如下
add_header name value [always];
add_header X-Via $server_addr;
add_header X-Cache $upstream_cache_status;
add_header X-Accel $server_name;
#添加⾃定义响应信息的尾部 1.13.2版后⽀持
add_trailer name value [always];  nginx反向代理多台服务器 http upstream配置参数 upstream name {
} #
⾃定义⼀组服务器配置在http内
server address [parameters];
#配置⼀个后端web服务器配置在upstream内⾄少要有⼀个server服务器配置。
#server⽀持的parameters如下
weightnumber #设置权重默认为1。
max_connsnumber #给当前server设置最⼤活动链接数默认为0表⽰没有限制。
max_failsnumber #对后端服务器连续监测失败多少次就标记为不可⽤。
fail_timeouttime #对后端服务器的单次监测超时时间默认为10秒。
backup #设置为备份服务器当所有服务器不可⽤时将重新启⽤次服务器。
down #标记为down状态。
resolve #当server定义的是主机名的时候当A记录发⽣变化会⾃动应⽤新IP⽽不⽤重启Nginx。
hash KEY consistent
#基于指定key做hash计算使⽤consistent参数将使⽤ketama⼀致性hash算法适⽤于后端是Cache服务器
(如varnish)时使⽤consistent定义使⽤⼀致性hash运算⼀致性hash基于取模运算。
hash $request_uri consistent; #基于⽤⼾请求的uri做hash
ip_hash
#源地址hash调度⽅法基于的客⼾端的remote_addr(源地址)做hash计算以实现会话保持
least_conn;
#最少连接调度算法优先将客⼾端请求调度到当前连接最少的后端服务器    Nginx反向代理IP透传(真实获取客户端ip)   实现负载均衡 在 Nginx 中实现负载均衡可以使用 upstream 模块和相关的负载均衡算法。upstream 模块允许你定义一组后端服务器并在反向代理的配置中使用这个组来分发请求从而实现负载均衡。 http {upstream backend_servers {# 定义后端服务器列表和权重server backend1.example.com weight2;server backend2.example.com;server backend3.example.com;}server {listen 80;server_name yourdomain.com;location / {# 反向代理到后端服务器组 backend_serversproxy_pass http://backend_servers;# 其他反向代理相关配置# ...}# 其他配置# ...}
}默认情况下Nginx 使用轮询算法进行负载均衡即每个请求依次轮流分发给不同的后端服务器。除了轮询算法Nginx 还支持其他负载均衡算法例如least_conn: 根据当前连接数选择连接数最少的服务器。
ip_hash: 根据客户端 IP 地址进行哈希分配同一 IP 的请求总是发到同一台服务器。
random: 随机选择一个后端服务器。upstream backend_servers {random;server backend1.example.com;server backend2.example.com;server backend3.example.com;
} 实现FastCGI CGI(Common Gateway Interface)和 FastCGI 都是用于实现 Web 服务器和应用程序之间的通信协议允许 Web 服务器将请求传递给外部应用程序处理并将处理后的结果返回给客户端。 CGI(Common Gateway Interface) CGI 是一种早期的 Web 服务器和应用程序通信协议最早于1993年由NCSA提出并广泛使用。 当客户端发起一个请求时Web 服务器会将请求传递给指定的 CGI 程序这个程序可以是任意编程语言编写的可执行文件。 每个请求都会启动一个新的 CGI 进程来处理并在处理完请求后退出。这种方式效率较低因为频繁地启动和关闭进程会产生较大的开销。 CGI 应用程序可以与 Web 服务器独立运行没有对 Web 服务器的依赖但也导致了频繁的进程创建和销毁。 FastCGI FastCGI 是对 CGI 协议的改进和扩展旨在提高 CGI 的性能和效率。 FastCGI 将一个长时间运行的应用程序进程与 Web 服务器保持连接使得多个请求可以复用同一个进程避免频繁地启动和关闭进程从而降低了开销。 FastCGI 应用程序与 Web 服务器之间建立长连接通过 FastCGI 协议进行通信可以复用连接来处理多个请求。 FastCGI 提供了更灵活的配置和管理方式使得 Web 服务器可以更好地控制和管理应用程序的进程池。 多数的 Web 服务器(包括 Nginx 和 Apache)都支持 FastCGI。 对比 FastCGI 相对于传统的 CGI性能更高因为可以复用进程和连接避免频繁启动和关闭进程的开销。CGI 应用程序每个请求都会启动一个新的进程效率较低特别是在高并发情况下。FastCGI 应用程序可以保持与 Web 服务器的长连接并复用进程更适合处理高并发的请求。FastCGI 需要对应用程序进行适当的配置和管理以控制进程池的大小和资源占用。 PHP-FPM(PHP FastCGI Process Manager) 是一个用于处理 PHP 脚本的 FastCGI 进程管理器。它可以与 Nginx、Apache 等 Web 服务器配合使用提供高性能的 PHP 处理能力适用于处理动态 PHP 网页请求。 PHP-FPM 的主要特点和优势包括 1、高性能PHP-FPM 使用 FastCGI 协议可以保持长连接并复用进程避免了频繁启动和关闭 PHP 进程的开销从而提高了性能。 2、进程管理PHP-FPM 可以管理 PHP 进程池根据配置和实际负载自动增减 PHP 进程数量使得服务器能够更好地适应不同的并发请求。 3、资源限制PHP-FPM 支持设置每个 PHP 进程的资源限制包括内存使用、执行时间等可以防止 PHP 脚本占用过多的资源。 4、进程优先级PHP-FPM 可以设置 PHP 进程的优先级让重要的任务优先得到执行。 5、日志记录PHP-FPM 可以记录 PHP 进程的运行日志方便排查问题和监控服务器性能。 6、多版本支持PHP-FPM 支持同时运行多个 PHP 版本并根据配置选择不同的 PHP 版本来处理请求。 FastCGI配置指令 Nginx基于模块ngx_http_fastcgi_module实现通过fastcgi协议将指定的客⼾端请求转发⾄php-fpm处理其配置 指令如下 fastcgi_pass address;
#转发请求到后端服务器address为后端的fastcgi server的地址可⽤位置location, if in location
fastcgi_index name;
#fastcgi默认的主⻚资源⽰例fastcgi_index index.php;
fastcgi_param parameter value [if_not_empty];
#设置传递给FastCGI服务器的参数值可以是⽂本变量或组合可⽤于将Nginx的内置变量赋值给⾃定义key
fastcgi_param REMOTE_ADDR $remote_addr; #客⼾端源IP
fastcgi_param REMOTE_PORT $remote_port; #客⼾端源端⼝
fastcgi_param SERVER_ADDR $server_addr; #请求的服务器IP地址
fastcgi_param SERVER_PORT $server_port; #请求的服务器端⼝
fastcgi_param SERVER_NAME $server_name; #请求的server name
fastcgi_cache_path path [levelslevels] [use_temp_pathon|off] keys_zonename:size
[inactivetime] [max_sizesize] [manager_filesnumber] [manager_sleeptime]
[manager_thresholdtime] [loader_filesnumber] [loader_sleeptime]
[loader_thresholdtime] [purgeron|off] [purger_filesnumber] [purger_sleeptime]
[purger_thresholdtime];
定义fastcgi的缓存
path #缓存位置为磁盘上的⽂件系统路径
max_sizesize #磁盘path路径中⽤于缓存数据的缓存空间上限
levelslevels#⼗六进制的缓存⽬录的层级数量以及每⼀级的⽬录数量levelsONE:TWO:THREE⽰例leves1:2:2
keys_zonename:size #设置缓存名称及k/v映射的内存空间的名称及⼤⼩
inactivetime #缓存有效时间默认10分钟需要在指定时间满⾜fastcgi_cache_min_uses 次数被视为活动缓存。
fastcgi_cache zone | off;
#调⽤指定的缓存空间来缓存数据可⽤位置http, server, location
fastcgi_cache_key string;
#定义⽤作缓存项的key的字符串⽰例fastcgi_cache_key $request_uri;
fastcgi_cache_methods GET | HEAD | POST ...;
#为哪些请求⽅法使⽤缓存
fastcgi_cache_min_uses number;
#缓存空间中的缓存项在inactive定义的⾮活动时间内⾄少要被访问到此处所指定的次数⽅可被认作活动项
fastcgi_keep_conn on | off;
#收到后端服务器响应后fastcgi服务器是否关闭连接建议启⽤⻓连接
fastcgi_cache_valid [code ...] time;
#不同的响应码各⾃的缓存时⻓
fastcgi_hide_header field; #隐藏响应头指定信息
fastcgi_pass_header field; #返回响应头指定信息默认不会将Status、X-Accel-...返回 配置fastcgi 1、安装php-fpm yum install php-fpm 2、修改php-fpm配置参数 vim /etc/php-fpm.d/www.conf
listen  10.0.7.201:9000
;listen.allowed_clients  127.0.0.1  3、准备php测试页面 mkdir /apps/php -p  4、配置nginx转发  tengine使用 Tengine 是由淘宝网发起的一个高性能的 Web 服务器项目它是在 Nginx 基础上进行优化和扩展的。Tengine 的目标是提供更好的性能和更多的功能适用于高并发的 Web 环境。 Tengine 项目主要关注以下几个方面的优化 高性能Tengine 在 Nginx 的基础上进行了一系列性能优化包括事件模型、线程池、内存池等以提高请求处理能力和并发连接数。 内置模块Tengine 集成了一些内置模块提供了更多的功能扩展例如 HTTP upstream keepalive、cookie log、accesskey 等模块。 支持 Lua 脚本Tengine 支持通过 Lua 脚本来扩展和定制功能让用户能够更灵活地定制处理流程。 安全性Tengine 关注 Web 服务器的安全性提供了一些安全相关的功能和选项如限制请求大小、限制请求频率等。 管理工具Tengine 提供了一些管理工具方便用户进行配置和监控如 tengine-manager 和 ngx_debug 工具。 编译安装 Tengine 可以通过以下步骤来完成 编译安装tengine 下载 Tengine 源代码 首先你需要从 Tengine 的官方网站或 GitHub 上下载最新的源代码。可以使用 git 命令来获取最新的代码 git clone https://github.com/alibaba/tengine.git
cd tengine 或者你也可以从官方网站下载源代码并解压到合适的目录。 安装依赖项 在编译 Tengine 之前你需要确保系统中已经安装了一些必要的依赖项如 GCC 编译器和 PCRE 库。在 Ubuntu 系统上你可以使用以下命令安装 sudo apt update
sudo apt install build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev 其他 Linux 发行版可以使用相应的包管理工具来安装依赖项。 配置编译选项 进入 Tengine 源代码目录后你可以使用 ./configure 命令来配置编译选项。这里你可以根据需要添加或删除一些选项。例如指定安装目录添加额外的模块启用或禁用特定的功能等。 ./configure --prefix/usr/local/tengine 编译和安装 配置完成后你可以使用 make 命令编译 Tengine make
sudo make install 配置 Tengine 安装完成后你需要根据需要编辑 Tengine 的配置文件并启动 Tengine 服务。主要的配置文件是 conf/nginx.conf你可以根据实际情况进行修改。 启动 Tengine 编辑好配置文件后可以使用以下命令启动 Tengine /usr/local/tengine/sbin/nginx 如果希望以后台模式运行可以使用 -c 参数指定配置文件并加上 -g daemon off; 参数来启动 /usr/local/tengine/sbin/nginx -c /path/to/nginx.conf -g daemon off; 以上是 Tengine 的编译安装过程。根据不同的需求你可能需要根据实际情况进行配置和定制。同时确保你已经熟悉了 Tengine 的配置选项和功能以便充分发挥其性能和功能优势。 加载动态模块concat 在 Nginx 或 Tengine 中concat 模块用于合并多个静态文件为一个单一的文件从而减少 HTTP 请求次数提高网页加载速度。通常在前端优化中将多个 CSS 或 JavaScript 文件合并为一个文件是一种常见的优化手段这样可以减少客户端浏览器与服务器之间的往返次数加快网页加载速度。 1、安装tengine先不打开concat
# ./configure --prefix/apps/tengine --with-http_ssl_module --with-http_v2_module --
with-http_realip_module --with-http_stub_status_module --with-http_gzip_static_module -
-with-pcre --with-file-aio
2、通过动态模块实现concat功能
http://tengine.taobao.org/document_cn/dso_cn.html
#yum install lua lua-devel
#./configure --prefix/apps/tengine --with-http_ssl_module --with-http_v2_module --
with-http_realip_module --with-http_stub_status_module --with-http_gzip_static_module -
-with-pcre --with-file-aio --with-http_concat_moduleshared --withhttp_lua_moduleshared
vim /apps/tenginx/conf/nginx.conf
dso {
load ngx_http_lua_module.so;
load ngx_http_concat_module.so;
}    
 文章转载自: http://www.morning.lbgfz.cn.gov.cn.lbgfz.cn http://www.morning.yhljc.cn.gov.cn.yhljc.cn http://www.morning.qhtlq.cn.gov.cn.qhtlq.cn http://www.morning.cfmrb.cn.gov.cn.cfmrb.cn http://www.morning.zydr.cn.gov.cn.zydr.cn http://www.morning.blqmn.cn.gov.cn.blqmn.cn http://www.morning.qqnp.cn.gov.cn.qqnp.cn http://www.morning.httzf.cn.gov.cn.httzf.cn http://www.morning.mqldj.cn.gov.cn.mqldj.cn http://www.morning.kpzrf.cn.gov.cn.kpzrf.cn http://www.morning.zckhn.cn.gov.cn.zckhn.cn http://www.morning.mxnfh.cn.gov.cn.mxnfh.cn http://www.morning.mlnzx.cn.gov.cn.mlnzx.cn http://www.morning.jthjr.cn.gov.cn.jthjr.cn http://www.morning.rxcqt.cn.gov.cn.rxcqt.cn http://www.morning.tpmnq.cn.gov.cn.tpmnq.cn http://www.morning.qbccg.cn.gov.cn.qbccg.cn http://www.morning.rrwft.cn.gov.cn.rrwft.cn http://www.morning.jyfrz.cn.gov.cn.jyfrz.cn http://www.morning.lggng.cn.gov.cn.lggng.cn http://www.morning.tfsyk.cn.gov.cn.tfsyk.cn http://www.morning.sbdqy.cn.gov.cn.sbdqy.cn http://www.morning.tddrh.cn.gov.cn.tddrh.cn http://www.morning.ntwxt.cn.gov.cn.ntwxt.cn http://www.morning.cpljq.cn.gov.cn.cpljq.cn http://www.morning.mlpmf.cn.gov.cn.mlpmf.cn http://www.morning.prgnp.cn.gov.cn.prgnp.cn http://www.morning.wjqbr.cn.gov.cn.wjqbr.cn http://www.morning.gwjsm.cn.gov.cn.gwjsm.cn http://www.morning.qrnbs.cn.gov.cn.qrnbs.cn http://www.morning.wylpy.cn.gov.cn.wylpy.cn http://www.morning.lprfk.cn.gov.cn.lprfk.cn http://www.morning.nzfjm.cn.gov.cn.nzfjm.cn http://www.morning.klrpm.cn.gov.cn.klrpm.cn http://www.morning.nhrkl.cn.gov.cn.nhrkl.cn http://www.morning.zqkr.cn.gov.cn.zqkr.cn http://www.morning.pphbn.cn.gov.cn.pphbn.cn http://www.morning.tllhz.cn.gov.cn.tllhz.cn http://www.morning.yprnp.cn.gov.cn.yprnp.cn http://www.morning.lznqb.cn.gov.cn.lznqb.cn http://www.morning.kngqd.cn.gov.cn.kngqd.cn http://www.morning.lfpzs.cn.gov.cn.lfpzs.cn http://www.morning.huayaosteel.cn.gov.cn.huayaosteel.cn http://www.morning.rwjfs.cn.gov.cn.rwjfs.cn http://www.morning.tbksk.cn.gov.cn.tbksk.cn http://www.morning.lyrgp.cn.gov.cn.lyrgp.cn http://www.morning.jyfrz.cn.gov.cn.jyfrz.cn http://www.morning.lmdfj.cn.gov.cn.lmdfj.cn http://www.morning.gbcnz.cn.gov.cn.gbcnz.cn http://www.morning.kehejia.com.gov.cn.kehejia.com http://www.morning.rdkqt.cn.gov.cn.rdkqt.cn http://www.morning.gjfym.cn.gov.cn.gjfym.cn http://www.morning.bnbtp.cn.gov.cn.bnbtp.cn http://www.morning.gtxrw.cn.gov.cn.gtxrw.cn http://www.morning.cwfkm.cn.gov.cn.cwfkm.cn http://www.morning.xxhc.cn.gov.cn.xxhc.cn http://www.morning.spftz.cn.gov.cn.spftz.cn http://www.morning.qfnrx.cn.gov.cn.qfnrx.cn http://www.morning.msbpb.cn.gov.cn.msbpb.cn http://www.morning.xwgbr.cn.gov.cn.xwgbr.cn http://www.morning.ctfh.cn.gov.cn.ctfh.cn http://www.morning.xrpwk.cn.gov.cn.xrpwk.cn http://www.morning.mcmpq.cn.gov.cn.mcmpq.cn http://www.morning.wngpq.cn.gov.cn.wngpq.cn http://www.morning.jtqxs.cn.gov.cn.jtqxs.cn http://www.morning.rlfr.cn.gov.cn.rlfr.cn http://www.morning.hcwjls.com.gov.cn.hcwjls.com http://www.morning.mprky.cn.gov.cn.mprky.cn http://www.morning.jjwt.cn.gov.cn.jjwt.cn http://www.morning.skrcn.cn.gov.cn.skrcn.cn http://www.morning.zwyuan.com.gov.cn.zwyuan.com http://www.morning.pjwrl.cn.gov.cn.pjwrl.cn http://www.morning.bhgnj.cn.gov.cn.bhgnj.cn http://www.morning.xmbhc.cn.gov.cn.xmbhc.cn http://www.morning.bhxzx.cn.gov.cn.bhxzx.cn http://www.morning.snzgg.cn.gov.cn.snzgg.cn http://www.morning.hympq.cn.gov.cn.hympq.cn http://www.morning.wzjhl.cn.gov.cn.wzjhl.cn http://www.morning.kpxky.cn.gov.cn.kpxky.cn http://www.morning.dqwykj.com.gov.cn.dqwykj.com