개발 꿀팁/PHP

Linux에서 nginx+java+php 환경 설정

Jammie 2022. 7. 19. 16:57
반응형

1. 목표 설정

1,lnmp를 통해기본 환경 설치를 완료하다

lnmp를 통해 설치이후 해당 앱의 위치는 공식 안내를 참고하시기 바랍니다.설치 후 나는 단독으로 가스 공식 설명을 통해 nginx 버전을 업그레이드했다
2. ngin 설정x가 php+java 환경을 만족시킬 수 있도록기계 다중화

2. 관련 설치 설명

1,tomca를t가 /usr/ local/ tom에 설치됨cat6

2,nginx를/usr/ local/ ngin에 설치X

3. 자바 아이템tomcat6/webapp 설치밑


4. php 관련항목은 직접 /usr/local/로컬하

3. 관련 구성 설명

주로 몇 가지 주요 배분을 설명하다서류구입의 경우

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.c라는 이름의 관련 구성을 보여드리겠습니다.om

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) 자바프로젝트 설정:파일명 www.quickbook.cn.conf

여기에서 자바프로젝트 설정 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;  
        }
 
}

3. 총결산
1,주로 nginx는 각 서브 도메인의 구성을 conf/vhost에 넣고 독립적으로 처리한다

2. 모든 vhost 아래의 프로필은 독립적으로 적용됩니다.

3. nginx는 요청을 백엔드 애플리케이션 서버에 전달한다.

4. 시동을 걸 때는 다음 순서로 시동을 걸어야 한다.

(1) mysql 데이터베이스 시작
(2) tomcat 시작

(3) nginx 작동

반응형