一、 需求 域名:user.test.com
应用部署的服务器ip:
应用部署的路径: 建立log文件存储位置的软连接,该软连接指向服务器中硬盘空间最大的挂载点下。 二、操作步骤 2.1 由于域名解析生效时间问题,应在工作开始时先做域名解析的工作,以便届时生效。查找到nginx的公网IP,将user.test.com与公网IP做域名解析。
2.2 部署后端resin服务
Resin多实例配置方法大概有两种:
本次配置与tomcat类似,copy出多个主体程序来实现多实例。
复制代码代码示例:
cd /usr/local && rsync -av resin/ resin_test/
cd ./resin_test/
vim ./conf/resin.conf
1.端口:
复制代码代码示例:
<bind-ports-after-start/>
<http server-id="" host="*" port="80"/> 将原来的80端口修改为8081端口,确保8081端口未被系统使用。修改后的内容如下: <bind-ports-after-start/> <http server-id="" host="*" port="8081"/>
2.server端口
复制代码代码示例:
<cluster>
<srun server-id="" host="127.0.0.1" port="6802"/> </cluster> 将原来的6802端口改为6803端口,确保6803端口未被系统使用。以保证每一个实例的server接口不冲突。 修改后内容如下: <cluster> <srun server-id="" host="127.0.0.1" port="6803"/> </cluster>
3.主目录的全路径
复制代码代码示例:
<host id="user.test.com">
<web-app id="/" document-directory="/var/htdocs/test"/>
vim ./bin/httpd.sh
复制代码代码示例:
RESIN_HOME=/usr/local/resin_test
export RESIN_HOME args='-Djava.library.path=/usr/local/resin_test/lib -J-server -Xms200m -Xmx1024m -XX:MaxNewSize=256m -XX:MaxPermSize=256m -Djava. awt.headless=true ' > httpd.pid #清空存放resin进程pid数值的文件 ln -s /data/app_log/ /opt/app_log #创建软连接,将日志目录存放于最大的分区中。
启动程序:
复制代码代码示例:
/usr/local/resin_test/bin/httpd.sh start
验证程序启动是否正常:
复制代码代码示例:
# ps -ef | grep resin_test
root 11579 1 0 Oct15 ? 00:00:00 perl ./wrapper.pl -chdir -name httpd -class com.caucho.server.resin.Resin -Djava.library.path=/usr/local/resin_test/lib -J-server -Xms200m -Xmx1024m -XX:MaxNewSize=256m -XX:MaxPermSize=256m -Djava.awt.headless=true start root 11581 11579 0 Oct15 ? 00:00:06 /usr/local/java/jdk1.6.0_24/bin/java -Djava.library.path=/usr/local/resin_test/lib -server -Xms200m -Xmx1024m -XX:MaxNewSize=256m -XX:MaxPermSize=256m -Djava.awt.headless=true -Xss1m -Dresin.home=/usr/local/resin_test -Dserver.root=/usr/local/resin_test -Djava.util.logging.manager=com.caucho.log.LogManagerImpl -Djavax.management.builder.initial=com.caucho.jmx.MBeanServerBuilderImpl com.caucho.server.resin.Resin -socketwait 61123 -stdout /usr/local/resin_test/log/stdout.log -stderr /usr/local/resin_test/log/stderr.log netstat -natp|grep java tcp 0 0 :::80 :::* LISTEN 11037/java tcp 0 0 :::8081 :::* LISTEN 11581/java tcp 0 0 ::ffff:127.0.0.1:6802 :::* LISTEN 11037/java tcp 0 0 ::ffff:127.0.0.1:6803 :::* LISTEN 11581/java 有进程,且端口开启正常,说明程序启动成功。
2、web前端nginx配置
复制代码代码示例:
cd /opt/nginx/conf
cp nginx.conf nginx.conf_20121016.bak
vim nginx.conf
复制代码代码示例:
upstream real-test {
ip_hash; server 10.127.64.26:8081; server 10.127.64.27:8081; } server { listen 80; server_name user.test.com access_log logs/test.access.log main; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; client_max_body_size 20m; proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504 http_404; proxy_pass http://real-test; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }
验证nginx.conf的正确性:
复制代码代码示例:
/opt/nginx/sbin/nginx -t
the configuration file /opt/nginx/conf/nginx.conf syntax is ok configuration file /opt/nginx/conf/nginx.conf test is successful
验证无误,重新启动nginx:
复制代码代码示例:
/opt/nginx/sbin/nginx -s reload
在配置过程中,遇到二个问题,记录下: 到此,整个配置过程就完成了,nginx与resin多实例,希望对大家有所帮助。 (责任编辑:IT) |