热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

CentOS6.2系统中配置Nginx1.3+tomcat7服务器环境

实验环境和软件版本:CentOS6.2,nginx-1.3.0.tar.gz,apache-tomcat-7.0.27.tar.gz,jdk-6u11-linux-i586-rpm.bin.gz一、安装Tomcat、JDK1、上传tar包到系统的/usr/local目录下2、解压缩apache-tomcat-7.0.2
实验环境和软件版本:CentOS6.2,nginx-1.3.0.tar.gz,apache-tomcat-7.0.27.tar.gz,jdk-6u11-linux-i586-rpm.bin.gz

一、安装Tomcat、JDK
1、上传tar包到系统的/usr/local目录下
2、解压缩apache-tomcat-7.0.27.tar.gz,并更名为tomcat7(方便记)
#tar zxvf apache-tomcat-7.0.27.tar.gz
#mv apache-tomcat-7.0.27  tomcat7
3、解压缩JDK并安装(如果你安装系统时已经安装了java环境, 则3、4步骤可省略)
#gunzip jdk-6u11-linux-i586-rpm.bin.gz
#./jdk-6u11-linux-i586-rpm.bin
4、配置环境变量
编辑/etc/profile文件(注:养成编辑前备份的好习惯)
#cd /etc/
#cp profile profile.bak
追加如下内容:
JAVA_HOME="/usr/java/jdk1.6.0_11"  
CLASS_PATH="$JAVA_HOME/lib:$JAVA_HOME/jre/lib"  
PATH=".:$PATH:$JAVA_HOME/bin "  
CATALINA_HOME="/usr/local/tomcat7"  
export JAVA_HOME CATALINA_HOME  
5、启动Tomcat并检测安装是否成功
 #cd /usr/local/tomcat7/bin/
#./startup.sh
浏览器中输入:http://ip:8080/,看看是否会出现一个猫。前提是你的firewall必须放开对8080的访问。
6、设置Tomcat的服务目录
#cd /usr/local/tomcat7/conf/
编辑server.xml文件:找到
appBase="webapps" unpackWARs="true" autoDeploy="true">
在其后追加:
reloadable="true"/>
将“/var/www/html”换成你自己的放置网站的目录。
再次打开http://ip:8080/,看是否是你想要访问的页面。

二、安装Nginx
1、获取Nginx-1.3.0,并解压
#cd /usr/local/
#wget http://nginx.org/download/nginx-1.3.0.tar.gz
#tar zxvf nginx-1.3.0.tar.gz
2、编译安装
#cd nginx-1.3.0  
#./configure --with-http_stub_status_module --with-http_ssl_module  #启动server状态页和https模块 
#make  
可能出现的错误:
错误1、
[root@localhost nginx-1.3.0]# ./configure  --with-http_stub_status_module --with-http_ssl_module   
checking for OS   
 + Linux 2.6.32-220.el6.i686 i686   
checking for C compiler ... not found   
./configure: error: C compiler gcc is not found  
原因:缺少gcc包
解决方式:#yum -y install gcc
错误2、
libtool: compile: unrecognized option `-DHAVE_CONFIG_H'   
libtool: compile: Try `libtool --help' for more information.   
make[1]: *** [pcrecpp.lo] 错误 1  
make[1]: Leaving directory `/usr/local/pcre-8.30'   
make: *** [all] 错误 2  
原因:缺少包
解决方式:#yum -y install gcc-c++
重新执行
#./configure --with-http_stub_status_module
--with-http_ssl_module  #启动server状态页和https模块
#make
错误3、缺少pcre library,这个是http rewrite的模块。
解决方式:
#cd /usr/local/   
#wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.30.tar.gz   
#cd pcre-8.30  
#./configure   
#make   
#make install  
继续安装Nginx:
 #./configure --with-http_stub_status_module --with-http_ssl_module #make
#make install
4、简要配置Nginx。
安装成功后的nginx在/usr/local/nginx.
在/usr/local/nginx/conf/下新建proxy.conf,用于配置一些代理参数,内容如下:
#!nginx (-)    
# 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;   
编辑conf/nginx.conf文件,内容如下:
#运行nginx所在的用户      
#user  nobody;       
#启动进程数      
worker_processes 8;      
#全局错误日志及PID文件      
error_log  /usr/local/nginx/logs/nginx_error.log  crit;      
pid        /usr/local/nginx/nginx.pid;      
#Specifies the value for maximum file descriptors that can be opened by this process.      
worker_rlimit_nofile 65535;      
#工作模式及连接数上限      
events      
{      
  use epoll;      
  worker_connections 65535;      
}      
#设定http服务器,利用它的反向代理功能提供负载均衡支持      
http      
{      
  #设定mime类型      
  include       mime.types;      
  default_type  application/octet-stream;      
  include /usr/local/nginx/conf/proxy.conf;      
  #charset  gb2312;      
  #设定请求缓冲          
  server_names_hash_bucket_size 128;      
  client_header_buffer_size 32k;      
  large_client_header_buffers 4 32k;      
  client_max_body_size 8m;  (在1.3中加入这个参数验证配置时报错,就去掉了)    
  sendfile on;      
  tcp_nopush     on;      
  keepalive_timeout 60;      
  tcp_nodelay on;      
#  fastcgi_connect_timeout 300;      
#  fastcgi_send_timeout 300;      
#  fastcgi_read_timeout 300;      
#  fastcgi_buffer_size 64k;      
#  fastcgi_buffers 4 64k;      
#  fastcgi_busy_buffers_size 128k;      
#  fastcgi_temp_file_write_size 128k;      
#  gzip on;      
#  gzip_min_length  1k;      
#  gzip_buffers     4 16k;      
#  gzip_http_version 1.0;      
#  gzip_comp_level 2;      
#  gzip_types       text/plain application/x-Javascript text/css application/xml;      
#  gzip_vary on;      
  #limit_zone  crawler  $binary_remote_addr  10m;      
 ###禁止通过ip访问站点      
  server{      
        server_name _;      
        return 404;      
  }
  server      
  {      
    listen       80;      
    server_name  www.xxx.com;      
    index index.html index.htm index.jsp;#设定访问的默认首页地址      
    root  /var/www/html;#设定网站的资源存放路径      
    #limit_conn   crawler  20;          
    location / {   
            root   /var/www/html;   
            index  index.html index.htm;   
    }   
    location ~ \.(jsp|jspx\do)?$ {   
           index index.jsp;   
           proxy_pass http://localhost:8080;   
    }   
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ #设定访问静态文件直接读取不经过tomcat      
    {      
      expires      30d;      
    }      
    location ~ .*\.(js|css)?$      
    {      
      expires      1h;      
    }          
#定义访问日志的写入格式      
     log_format  access  '$remote_addr - $remote_user [$time_local] "$request" '      
              '$status $body_bytes_sent "$http_referer" '      
              '"$http_user_agent" $http_x_forwarded_for';      
    access_log  /usr/local/nginx/logs/localhost.log access;#设定访问日志的存放路径      
      }      
}    
5、验证配置
#/usr/local/nginx/sbin/nginx -t
错误:
[root@localhost conf]# /usr/local/nginx/sbin/nginx -t   
/usr/local/nginx/sbin/nginx: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory   
解决方法:在/lib中创建一个symbol link到/usr/local/lib/libpcre.so.1
 [root@localhost conf]# ln -s /usr/local/lib/libpcre.so.1
/lib
若出现如下信息,则表示配置正确,否则需按错误提示进行配置文件更正
nginx: the configuration file /usr/local/nginx/conf/nginx.conf
syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is
successful
6、启动Nginx服务
#/usr/local/nginx/sbin/nginx
出现告警信息:
nginx: [warn] the "log_format" directive may be used only on
"http" level in /usr/local/nginx/conf/nginx.conf:
这是新版本的问题,需要我们将log_format的定义放到server的前面。如果你是直接更改的nginx.conf文件,你会发现这一句原本就是在server的前面的。
查看nginx主进程:
#ps -ef | grep "nginx: master process" | grep -v "grep" | awk -F
' ' '{print $2}'
7、停止Nginx服务
#/usr/local/nginx/sbin/nginx -s stop

三、联合测试
在/var/www/html/下新建两个文件index.html,index.jsp,内容如下:
[root@localhost bin]# cat /var/www/html/index.html
hello world
[root@localhost bin]# cat /var/www/html/index.jsp





<%out.println("Hello World!");%>


用浏览器分别访问 http://ip/index.html
http://ip/index.jsp,
http://ip:8080/index.jsp
到此配置完成!

推荐阅读
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • CEPH LIO iSCSI Gateway及其使用参考文档
    本文介绍了CEPH LIO iSCSI Gateway以及使用该网关的参考文档,包括Ceph Block Device、CEPH ISCSI GATEWAY、USING AN ISCSI GATEWAY等。同时提供了多个参考链接,详细介绍了CEPH LIO iSCSI Gateway的配置和使用方法。 ... [详细]
  • centos安装Mysql的方法及步骤详解
    本文介绍了centos安装Mysql的两种方式:rpm方式和绿色方式安装,详细介绍了安装所需的软件包以及安装过程中的注意事项,包括检查是否安装成功的方法。通过本文,读者可以了解到在centos系统上如何正确安装Mysql。 ... [详细]
  • Linux下安装免费杀毒软件ClamAV及使用方法
    本文介绍了在Linux系统下安装免费杀毒软件ClamAV的方法,并提供了使用该软件更新病毒库和进行病毒扫描的指令参数。同时还提供了官方安装文档和下载地址。 ... [详细]
  • 本文详细介绍了在Centos7上部署安装zabbix5.0的步骤和注意事项,包括准备工作、获取所需的yum源、关闭防火墙和SELINUX等。提供了一步一步的操作指南,帮助读者顺利完成安装过程。 ... [详细]
  • 在Windows10系统上使用VMware创建CentOS虚拟机的详细步骤教程
    本文详细介绍了在Windows10系统上使用VMware创建CentOS虚拟机的步骤,包括准备条件、安装VMware、下载CentOS ISO文件、创建虚拟机并进行自定义配置、设置虚拟机的ISO与网络、进行安装和配置等。通过本文的指导,读者可以轻松地创建自己的CentOS虚拟机并进行相应的配置和操作。 ... [详细]
  • Tomcat安装与配置教程及常见问题解决方法
    本文介绍了Tomcat的安装与配置教程,包括jdk版本的选择、域名解析、war文件的部署和访问、常见问题的解决方法等。其中涉及到的问题包括403问题、数据库连接问题、1130错误、2003错误、Java Runtime版本不兼容问题以及502错误等。最后还提到了项目的前后端连接代码的配置。通过本文的指导,读者可以顺利完成Tomcat的安装与配置,并解决常见的问题。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 目录浏览漏洞与目录遍历漏洞的危害及修复方法
    本文讨论了目录浏览漏洞与目录遍历漏洞的危害,包括网站结构暴露、隐秘文件访问等。同时介绍了检测方法,如使用漏洞扫描器和搜索关键词。最后提供了针对常见中间件的修复方式,包括关闭目录浏览功能。对于保护网站安全具有一定的参考价值。 ... [详细]
  • PHP组合工具以及开发所需的工具
    本文介绍了PHP开发中常用的组合工具和开发所需的工具。对于数据分析软件,包括Excel、hihidata、SPSS、SAS、MARLAB、Eview以及各种BI与报表工具等。同时还介绍了PHP开发所需的PHP MySQL Apache集成环境,包括推荐的AppServ等版本。 ... [详细]
author-avatar
袁善恩芷恩
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有