概述
所需软件名称及版本:
pcre-8.02.tar.gz
nginx-0.7.58.tar.gz
Nginx_upstream_hash-0.3.1.tar.gz
1、安装pcre
Java代码
tar -zxvf pcre-8.02.tar.gz
cd pcre-8.02/
./configure
make && make install
tar -zxvf pcre-8.02.tar.gz cd pcre-8.02/ ./configure make && make install
2、给nginx安装url_hash补丁
Java代码
tar -zxvf nginx-0.7.58.tar.gz
tar -zxvf Nginx_upstream_hash-0.3.1.tar.gz
cd nginx-0.7.58/
patch -p0 < /var/tmp/loojoy/nginx_upstream_hash-0.3.1/nginx.patch
tar -zxvf nginx-0.7.58.tar.gz tar -zxvf Nginx_upstream_hash-0.3.1.tar.gz cd nginx-0.7.58/ patch -p0 < /var/tmp/loojoy/nginx_upstream_hash-0.3.1/nginx.patch
3、安装nginx
Java代码
groupadd www
useradd www -g www
./configure --prefix=/usr/local/webserver/nginx
--user=www
--group=www
--add-module=/var/tmp/loojoy/nginx_upstream_hash-0.3.1
--with-http_ssl_module
--with-http_stub_status_module
groupadd www useradd www -g www ./configure --prefix=/usr/local/webserver/nginx --user=www --group=www --add-module=/var/tmp/loojoy/nginx_upstream_hash-0.3.1 --with-http_ssl_module --with-http_stub_status_module
4、检查nginx生成的配置文件是否正确
Java代码
/usr/local/webserver/nginx/sbin/nginx -t
/usr/local/webserver/nginx/sbin/nginx -t
5、启动nginx
若nginx.conf检查通过,则启动nginx。
Java代码
/usr/local/webserver/nginx/sbin/nginx
/usr/local/webserver/nginx/sbin/nginx
6、查看端口80
netstat -ant
7、通过浏览器访问:
http://your_nginx_server_ip/
若可以正常访问,则nginx安装成功。
8、修改nginx的配置文件如下:
Java代码
-------------------[S]url_hash转发方式nginx.conf[S]--------------------
user www www;
worker_processes 10;
error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
worker_rlimit_nofile 51200;
events
{
use epoll;
worker_connections 51200;
}
http
{
include mime.types;
default_type application/octet-stream;
keepalive_timeout 120;
tcp_nodelay on;
upstream your.website.name{
server your.tomcat.server.ip1:8080;
server your.tomcat.server.ip1:8080;
hash $request_uri;
}
server
{
listen 80;
server_name your.website.name;
location / {
proxy_pass http://your.website.name;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
log_format www_gjw_com '$remote_addr - $remote_user [$time_local] $request '
'"$status" $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
#access_log /data1/logs/www.log www_gjw_com;
location /nginx_status {
stub_status on;
access_log off;
}
}
}
-------------------[E]url_hash转发方式nginx.conf[E]--------------------
-------------------[S]url_hash转发方式nginx.conf[S]-------------------- user www www; worker_processes 10; error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; worker_rlimit_nofile 51200; events { use epoll; worker_connections 51200; } http { include mime.types; default_type application/octet-stream; keepalive_timeout 120; tcp_nodelay on; upstream your.website.name{ server your.tomcat.server.ip1:8080 ; server your.tomcat.server.ip1:8080 ; hash $request_uri; } server { listen 80; server_name your.website.name; location / { proxy_pass http://your.website.name; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } log_format www_gjw_com '$remote_addr - $remote_user [$time_local] $request ' '"$status" $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; #access_log /data1/logs/www.log www_gjw_com; location /nginx_status { stub_status on; access_log off; } } } -------------------[E]url_hash转发方式nginx.conf[E]--------------------
9、添加nginx启动、关闭、重启脚本
Java代码
-------------------[S]url_hash转发方式nginx启动、关闭脚本[S]--------------------
#!/bin/sh
CWD=`pwd`
case$1in
start)
/usr/local/webserver/nginx/sbin/nginx
;;
stop)
kill -2`ps -ef|grep"/usr/local/webserver/nginx/sbin/nginx"|grep -v"grep"|awk'{print $2}'`
;;
restart)
cd "$CMD"
$0stop
$0start
;;
*)
echo $"Usage: $0 {start|stop|restart}"
exit 1
esac
exit 0
-------------------[E]url_hash转发方式nginx启动、关闭脚本[E]--------------------
-------------------[S]url_hash转发方式nginx启动、关闭脚本[S]-------------------- #!/bin/sh CWD=`pwd` case $1 in start) /usr/local/webserver/nginx/sbin/nginx ;; stop) kill -2 `ps -ef|grep "/usr/local/webserver/nginx/sbin/nginx"|grep -v "grep"|awk '{print $2}' ` ;; restart) cd "$CMD" $0 stop $0 start ;; *) echo $"Usage: $0 {start|stop|restart}" exit 1 esac exit 0 -------------------[E]url_hash转发方式nginx启动、关闭脚本[E]--------------------
更改该文件权限
Java代码
chmod u+x nginx.sh
启动 nginx ./nginx.sh start
重启 nginx ./nginx.sh restart
关闭 nginx ./nginx.sh stop
最后
以上就是想人陪发带为你收集整理的java实现nginx路由转发,将nginx配置成url_hash转发方式的全部内容,希望文章能够帮你解决java实现nginx路由转发,将nginx配置成url_hash转发方式所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复