一、配置目标 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