欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

在linux下配置nginx+java+php的环境

程序员文章站 2022-04-13 10:42:21
...

一、配置目标 1、通过lnmp完成基础环境的安装 通过lnmp安装后,相关软件的位置请参考其官方说明。安装后我单独通过气官方说明,升级了nginx的版本 2、配置nginx使之能满足phpjava环境在一台机器上的复用 二、相关安装说明 1、将tomcat安装到/usr/local/tomca

一、配置目标

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/下


三、相关配置说明

主要说明几个主配置文件的情况

1、nginx.conf

user  www www;

worker_processes 1;

error_log  /home/wwwlogs/nginx_error.log  crit;

pid        /usr/local/nginx/logs/nginx.pid;

#Specifies the value for maximum file descriptors that can be opened by this process.
worker_rlimit_nofile 51200;

events
	{
		use epoll;
		worker_connections 51200;
	}
#fastcgi参数的配置很重要。对性能影响较大
http
	{
		include       mime.types;
		default_type  application/octet-stream;

		server_names_hash_bucket_size 128;
		client_header_buffer_size 32k;
		large_client_header_buffers 4 32k;
		client_max_body_size 50m;

		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 256k;
		fastcgi_buffers 8 256k;
		fastcgi_busy_buffers_size 512k;
		fastcgi_temp_file_write_size 512k;

		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;

		#log format
		log_format  access  '$remote_addr - $remote_user [$time_local] "$request" '
             '$status $body_bytes_sent "$http_referer" '
             '"$http_user_agent" $http_x_forwarded_for';

#核心指出了各个域名的配置文件位置,在nginx/conf/vhost目录中
 include vhost/*.conf;



}



2、vhost(在nginx.conf指明了相关域名对应的配置文件位置)

(1)、php项目配置:文件名称shequ.jiuchongju.com.conf

这里我将一个域名的相关配置在这里展示:shequ.jiuchongju.com

server
        {
                listen      80;
                server_name shequ.jiuchongju.com;
                index index.html index.htm index.php;
                root  /usr/local/discuzx/upload;

                location ~ .*\.(php|php5)?$
                        {
                                try_files $uri =404;
                                fastcgi_pass  unix:/tmp/php-cgi.sock;
                                fastcgi_index index.php;
                                include fcgi.conf;
                        }

                location /status {
                        stub_status on;
                        access_log   off;
                }

                location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
                        {
                                expires      30d;
                        }

                location ~ .*\.(js|css)?$
                        {
                                expires      12h;
                        }

                access_log  /home/wwwlogs/access.log  access;
        }



(2)、java项目配置:文件名称www.quickbook.cn.conf

这里我指定了一个java项目的配置 www.quickbook.cn

    server {  
        listen       80;  
        server_name  www.quickbook.cn; 
  
        #charset koi8-r;  
  
        access_log  logs/dev/null;  
  
    root   /usr/local/tomcat6/webapps/quickbook/;  
 
#将请求反向代理到tomcat应用服务器上了

 location / {  
              
             index   index.jsp index.html index.htm ;  
  
             proxy_redirect          off;    
             proxy_set_header        Host            $host;    
             proxy_set_header        X-Real-IP       $remote_addr;    
             proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;    
             client_max_body_size    10m;    
             client_body_buffer_size 128k;    
             proxy_buffers           32 4k;  
             proxy_connect_timeout   3;    
             proxy_send_timeout      30;    
             proxy_read_timeout      30;    
             proxy_pass http://127.0.0.1:8080;  
        }

}

三、总结

1、主要是nginx将各个子域名的配置放到conf/vhost中独立处理

2、每个vhost下的配置文件都独立生效

3、nginx只是将请求转发到后端的应用服务器上

4、启动的时候需要按照如下次序启动

(1)、启动mysql数据库

(2)、启动tomcat

(3)、启动nginx