tomcat与nginx的整合&nginx 配置https

一.安装Tomcat和jdk

 

1.安装jdk

# tar xvf jdk1.6.0_11.tar
# mv jdk1.6.0_11 /usr/local/

配置环境变量

# vim /etc/profile 添加

JAVA_HOME=/usr/local/jdk1.6.0_11
export JAVA_HOME
CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export CLASSPATH
PATH=$JAVA_HOME/bin:$PATH
export PATH

# sourse /etc/profile
# echo $JAVA_HOME
/usr/local/jdk1.6.0_11

 

2.安装tomcat

# tar zxvf apache-tomcat-6.0.29.tar.gz
# mv apache-tomcat-6.0.29 /usr/local/tomcat6

 

3.启动tomcat

# /usr/local/tomcat6/bin/startup.sh
Using CATALINA_BASE:   /usr/local/tomcat6
Using CATALINA_HOME:   /usr/local/tomcat6
Using CATALINA_TMPDIR: /usr/local/tomcat6/temp
Using JRE_HOME:       /usr/local/jdk1.6.0_11

# ps aux | grep tomcat
root     12717  0.5 12.3 220452 31588 pts/0    Sl   19:24   0:02 /usr/local/jdk1.6.0_11/bin/java -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=/usr/local/tomcat6/conf/logging.properties
-Djava.endorsed.dirs=/usr/local/tomcat6/endorsed -classpath :/usr/local/tomcat6/bin/bootstrap.jar -Dcatalina.base=/usr/local/tomcat6 -Dcatalina.home=/usr/local/tomcat6 -Djava.io.tmpdir=/usr/local/tomcat6/temp org.apache.catalina.startup.Bootstrap start
root     13187  0.0  0.2   5072   708 pts/0    R+   19:31   0:00 grep tomcat

启动成功!

 

4.访问测试

http://192.168.2.150:8080
会看到tomcat的主页

 

5.修改配置文件

# pwd
/usr/local/tomcat6/conf

# vim server.xml
 <Connector port="8080" protocol="HTTP/1.1"   端口设置

 <Host name="localhost"  appBase="webapps"    家目录,页面文件要放在webapps/ROOT下面

将家目录改成/www/web/
 <Host name="localhost"  appBase="/www/web"
# mkdir -p /www/web/ROOT
# vim /www/web/ROOT/index.jsp
Hello,tomcat home!

重启tomcat,再次访问

改变访问

改变家目录的访问默认文件
# vim web.xml
 <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>

 

二.nginx安装配置

 

1.安装支持正则的pcre模块
# rpm -ivh  pcre-devel-6.6-2.el5_1.7.i386.rpm

 

2.安装nginx
# tar zxvf nginx-0.7.62.tar.gz
# cd nginx-0.7.62
# ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
# make
# make install

 

3.启动nginx
# /usr/local/nginx/sbin/nginx

 

4.访问nginx(默认为80端口)
http://192.168.2.150

 

三.nginx与tomcat整合

 

1. 在/usr/local/nginx/conf下面添加文件proxy.conf

# cat /usr/local/nginx/confg/proxy.conf

proxy_redirect          off;
proxy_set_header        Host $host;
proxy_set_header        X-Real-IP $remote_addr; #获取真实IP
#proxy_set_header       X-Forwarded-For   $proxy_add_x_forwarded_for; #获取代理者的真实ip
client_max_body_size    10m;
client_body_buffer_size 128k;
proxy_connect_timeout   90;
proxy_send_timeout      90;
proxy_read_timeout      90;
proxy_buffer_size       4k;
proxy_buffers           4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;

 

2.配置nginx.conf
# cat /usr/local/nginx/confg/nginx.conf
user  www www;
worker_processes  1;
pid     /usr/local/nginx/logs/nginx.pid;

events {
    use epoll;
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    include     /usr/local/nginx/conf/proxy.conf;  #一定要指向代理文件

    sendfile        on;
    tcp_nopush      on;
    keepalive_timeout  65;

    server {
        listen       80;
        server_name  localhost;

        charset gb2312;

        location / {
             root /www/web/ROOT;
             index  index.html index.htm;
        }

        location ~ .*.jsp$ {     #匹配以jsp结尾的,tomcat的网页文件是以jsp结尾         
                index   index.jsp;
                proxy_pass      http://127.0.0.1:8080;
#主要在这里,设置一个代理
        }

        location /nginxstatus {
                stub_status on;
                access_log on;
                auth_basic "nginxstatus";
                auth_basic_user_file /usr/local/nagois/etc/htpasswd.users;
        }

        # redirect server error pages to the static page /50x.html
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

 

3.测试
在/www/web/ROOT下添加文件index.html

# cat index.html
the port:80

重启nginx

http://192.168.2.150

http://192.168.2.150:8080

http://192.168.2.150/index.jsp

nginx 配置https

同事测试一ssl加密接口,但是负责该接口的同事有事请假了没在,所以我就临时给配置了一个https服务,写了一个简单接口供同事使用,配置nginx的https记录一下:

一、生成私钥和证书

创建带密钥口令的私钥
root@mysqlmaster:/tmp# openssl genrsa -des3 -out ng.key 1024
Generating RSA private key, 1024 bit long modulus
........++++++
...........................................++++++
e is 65537 (0x10001)
Enter pass phrase for ng.key: 输入口令
Verifying - Enter pass phrase for ng.key: 确认口令
二、创建csr文件
root@mysqlmaster:/tmp# openssl req -new -key ng.key -out ng.csr
Enter pass phrase for ng.key:
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:国家 如cn,hk
State or Province Name (full name) [Some-State]:州或省的名称 如Beijing
Locality Name (eg, city) []:什么地方级别,是城市还是乡镇
Organization Name (eg, company) [Internet Widgits Pty Ltd]:什么组织,如公司,政府
Organizational Unit Name (eg, section) []:组织单位名称
Common Name (eg, YOUR name) []:名字
Email Address []:邮件地址

Please enter the following 'extra' attributes 额外信息
to be sent with your certificate request
A challenge password []: 复杂密码
An optional company name []:

1,创建私钥(去除密钥口令)
openssl rsa -in ng.key -out server.key
输入口令

2,创建CA证书
openssl req -new -x509 -days 3650 -key server.key -out server.crt
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (eg, YOUR name) []:
Email Address []:
和上面的步骤差不多,根据提示输入证书的信息,国家,管理人邮件,姓名,城市等

三、修改nginx配置文件

root@mysqlmaster:/tmp# cp server.crt server.key /etc/nginx/
默认需要证书放到nginx/conf/目录,那么
vi /etc/nginx/nginx.conf

增加

server{
listen 443;
server_name localhost;
ssl on;
ssl_certificate server.crt; #证书
ssl_certificate_key server.key; #私钥
location / {
root html;
index index.html index.htm;
}
}
root@mysqlmaster:/tmp# service nginx restart
重启服务

#Nginx

时间: 2024-10-06 11:36:40

tomcat与nginx的整合&amp;nginx 配置https的相关文章

Tomcat配置SSL nginx+tomcat配置https实例及优化过程

Tomcat配置SSL,使用openssl制作证书 制作证书以及Tomcat配置     搭建openssl环境,下载openssl并设置环境变量方便命令行的使用:    修改openssl配置文件,设置dir目录,如设置dir=e:/temp/openssl_ca,然后根据配置文件分别建立子目录:certs.crl.newcerts.private分别用来存放签发的证书.吊销的证书.证书申请.私钥:         cd /d e:\temp\openssl_ca         mkdir 

[项目构建 十三]babasport Nginx负载均衡的详细配置及使用案例详解.

在这里再次说明下, 这个项目是从网上 找到的一套学习资料, 自己在 空闲时间学习了这些东西. 这里面的code当然会有很多不完善的地方, 但是确实也能学到很多新东西.感谢看过这一些列博文和评论的小伙伴, 我把自己所看到的学到的拿到这里来分享是想和大家一起学习进步, 想听听园友给出的意见, 也是对自己学习过程的一个总结. 最后我会将这套资料的所有内容共享出来, 如果有愿意学习的同学可以下载下来使用.PS: 我自认为 这些内容对于刚工作1-2年的同学来说真的很适用. 技术无止境, 我们仍需努力! 1

配置nginx反向代理jira并实现https

配置nginx反向代理jira并实现https 配置Tomcat 在本文中,我们设置可以在地址http://jira.aniu.so/jira(标准HTTP端口80)上访问JIRA,而JIRA本身可以使用上下文路径/ jira监听端口8080. 修改配置文件server.xml(在jira安装目录下) 更改前: <Context docBase="${catalina.home}/atlassian-jira" path="" reloadable="

LNMP(linux+nginx+mysql+php)服务器环境配置

原文:LNMP(linux+nginx+mysql+php)服务器环境配置 一.简介 Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为 "engine X", 是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器.Nginx是由俄罗斯人 Igor Sysoev为俄罗斯访问量第二的 Rambler.ru站点开发的,它已经在该站点运行超过三年了.Igor Sysoev在建立的项目时,使用基于BSD许可. 在高并发连接的情况

Windows下Nginx + PHP5 的安装与配置方法_nginx

安装 PHP5 首先,从 http://www.php.net/downloads.php 下载最新的 PHP 5.3 Windows 版本,解压至 C:\php5,把压缩包中的 php.ini-recommended,更名为 php.ini,然后打开修改几个选项: 复制代码 代码如下: error_reporting = E_ALL display_errors = On extension_dir = "C:\php5\ext" ; 动态扩展,可以根据需要去掉 extension

linux系统nginx+java+php的环境配置教程

一.配置目标 1.通过lnmp完成基础环境的安装 通过lnmp安装后,相关软件的位置请参考其官方说明.安装后我单独通过气官方说明,升级了nginx的版本 2.配置nginx使之能满足php+java环境在一台机器上的复用     二.相关安装说明 1.将tomcat安装到/usr/local/tomcat6 2.将nginx安装到/usr/local/nginx 3.将java项目安装到tomcat6/webapps下   4.将php相关项目直接安装到/usr/local/下     三.相关

Nginx服务器基本的模块配置和使用全攻略_nginx

1. 安装nginx 1.1 选择稳定版本我们编译安装nginx来定制自己的模块,机器CentOS 6.2 x86_64.首先安装缺少的依赖包: # yum -y install gcc gcc-c++ make libtool zlib zlib-devel openssl openssl-devel pcre pcre-devel 这些软件包如果yum上没有的话可以下载源码来编译安装,只是要注意编译时默认安装的目录,确保下面在安装nginx时能够找到这些动态库文件(ldconfig). 从

Nginx学习笔记二基本配置

1.Nginx的配置文件默认在Nginx程序安装目录的conf二级目录下,主配置文件为nginx.conf.假设您的Nginx安装 在/usr/local/webserver/nginx/目录下,那么默认的主配置文件则为/usr/local/webserver/nginx/nginx.conf.2.Nginx配置参数:(1)user www www 指定使用的用户和用户所在的组(2)worker_processes 8 指定工作衍生进程数(一般等于CPU的总核数或总核数的两倍,如两个四核CPU,

Nginx服务器基础的安全配置与一些安全使用提示_nginx

安全配置 1. nginx介绍nginx本身不能处理PHP,它只是个web服务器,当接收到请求后,如果是php请求,则发给php解释器处理,并把结果返回给客户端.nginx一般是把请求发fastcgi管理进程处理,fastcgi管理进程选择cgi子进程处理结果并返回被nginx. nginx涉及到两个账户,一个是nginx的运行账户,一个是php-fpm的运行账户.如果访问的是一个静态文件,则只需要nginx的运行账户对文件具有读取权限:而如果访问的是一个php文件,则首先需要nginx的运行账