一、配置目标
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
From: http://blog.csdn.net/kongqz/article/details/9963555