Centos 6 安装Nginx 和配置tomcat +域名访问全过程。
来源:互联网 发布:淘宝双11定金可以退吗 编辑:程序博客网 时间:2024/06/08 10:01
安装nginx所需安装包
Nginx-1.6.0.tar.gz和pcre-8.35.zip
准备工作:
#mkdir nginx
去/usr目录下创建 nginx目录
把准备好的Nginx-1.6.0.tar.gz和pcre-8.35.zip放到nginx目录里面去
开始安装:
首先要安装pcre ,他作用是让ngnix支持rewrite功能
一. 安装pcre-8.35
#unzip pcre-8.35.zip
#cd pcre-8.35
#./configure
#make
#make install
没有gcc环境,所以没法make和make install
需要去安装gcc
去/目录安装
yum -y install make zlib zlib-devel gcc-c++ libtool
安装完成再回/usr/nginx/pcre-8.35目录里面
#./configure
#make
#make install
二. 安装nginx
#tar –zxvf nginx-1.6.0.tar.gz
#cd nginx-1.6.0
#./configure --with-http_stub_status_module --with-http_ssl_module(该命令为检查编译安装环境,提示缺少什么包就安装什么包)
例子我安装是提示错误:SSL modules require the OpenSSL library.
解决办法为安装openssl,命令为
#yum–y install openssl openssl-devel(这条命令建议手打,别复制)
#make
需要再./configure一遍
#./configure --with-http_stub_status_module --with-http_ssl_module
然后再
#make
#make install
nginx安装成功后的安装目录为/usr/local/nginx
三. 为nginx单独配置用户,并且tomcat设置单独目录。安全性和可维护性高
1.Tomcat的目录设置为/home/www/web
更改tomcat的server.xml文件,在Host name=”localhost”处将appBase=的指向路径改为/home/www/web
2.创建用户www和用户组www为该文件目录的使用权限者
#/usr/sbin/groupadd www
#/usr/sbin/useradd–g www www –s /sbin/nologin
#mkdir –p /home/www
#chmod +w /home/www
#chown –R www:www /home/www
四. 配置nginx
#cd /usr/local/nginx
在conf文件夹中新建proxy.conf,用于配置一些代理参数,内容如下:
#proxy.conf
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
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。配置如下(该配置仅供参考,实际以服务器为准)
user www www;worker_processes 8;#error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info;#pid logs/nginx.pid;events { use epoll; worker_connections 65535;}http { include mime.types; default_type application/octet-stream; #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"'; #access_log logs/access.log main; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; gzip on; gzip_min_length 1k; gzip_buffers 4 16k; gzip_http_version 1.1; gzip_comp_level 2; gzip_types text/plain application/x-javascript text/css application/xml; gzip_vary on; upstream tomcat_sgl { server 17*.**.**.*1:8080 fail_timeout=30s; } server { listen 80; server_name sgl520.top www.sgl520.top; #charset koi8-r; #access_log logs/host.access.log main; location / { # root html; index index.html index.htm; proxy_pass http://tomcat_sgl; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }
NGINX启动时提示错误:
/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
解决方法:
ln -s /usr/local/lib/libpcre.so.1 /lib64
32位系统则:
ln -s /usr/local/lib/libpcre.so.1 /lib
附nginx常用命令:
#检测配置文件
#/usr/local/nginx/sbin/nginx -t
#启动nginx
/usr/local/nginx/sbin/nginx
echo "/usr/local/nginx/sbin/nginx" >> /etc/rc.local
#查看nginx主进程号
#ps -ef | grep "nginx: master process" | grep -v "grep" | awk -F ' ' '{print $2}'
#停止nginx
#/usr/local/nginx/sbin/nginx -s stop
#平滑重启
#/usr/local/nginx/sbin/nginx -s reload
测试时为在/home/www/web中新建一个index.jsp
启动tomcat,启动nginx
通过访问ip地址即可看到
配置完毕
付nginx切割日志
# vi /usr/local/nginx/sbin/cut_nginx_log.sh
#!/bin/bash
# this shell must run 00:00 everyday
# Nginx log_path
mesws_logs_path="/usr/local/nginx/logs/meswslog"
error_logs_path="/usr/local/nginx/logs/error"
mkdir -p ${mesws_logs_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/
mv ${mesws_logs_path}mesws.log ${mesws_logs_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/mesws_$(date -d "yesterday" +"%Y%m%d").log
mkdir -p ${error_logs_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/
mv ${error_logs_path}error.log ${error_logs_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/error_$(date -d "yesterday" +"%Y%m%d").log
kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`
配置crontab每天凌晨00:00定时执行这个脚本:
crontab –e
00 00 * * * /bin/bash /usr/local/nginx/sbin/cut_nginx_log.sh
这个shell脚本和crontab配置的实际功能为:假设今天为2014-07-25,Nginx当前日志文件为/usr/local/nginx/logs/meswslog/mesws.log,2014-7-26 00:00会执行
Cut_nginx_log.sh脚本,脚本首先创建目录/usr/local/nginx/logs/meswslog/2014/07/然后将/usr/local/nginx/logs/meswslog/mesws.log文件移到并重命名为/usr/local/nginx/logs/meswslog/2014/07/mesws_20140725.log,再发送kill –USR1信号给Nginx主进程号,告诉Nginx重新生成一个mesws.log文件,2014-7-26的日志记录就记录在新的日志文件中。
注意事项:cut_nginx_log.sh需要有执行权限
可以chmod 744 cut_nginx_log.sh
配置域名映射,通过nginx访问 和 修改tomcat项目默认路径
我把tomcat的默认项目访问地址想提取到/home/www/web目录下面(可能需要自己把tomcat本身目录下的ROOT目录不能放项目,不然默认访问它自己下面的)
修改tomcat的server.xml文件如图
然后配置nginx监听服务器的tomcat8080端口就行
我在配置过程中参考的文献
Nginx 参考地址1:http://www.linuxidc.com/Linux/2014-02/96137.htm
Nginx 参考地址2:http://www.nginx.cn/install
- Centos 6 安装Nginx 和配置tomcat +域名访问全过程。
- Centos安装配置nginx+tomcat
- tomcat+nginx域名配置
- CentOS下安装nginx全过程
- centos安装nginx全过程 备份
- centos下nginx+tomcat安装配置 nginx结合tomcat
- centos下nginx+tomcat安装配置 nginx结合tomcat
- centos下Nginx+tomcat整合安装配置
- nginx安装和域名转换配置
- centos下安装nginx,并配置域名转发
- nginx安装和nginx、tomcat集群配置
- nginx配置二级域名访问集群tomcat和nginx windows版安装 启动
- Nginx-------Nginx的安装和多域名配置
- Nginx配置域名同时支持 https 和 http 访问
- Tomcat配置域名/IP访问
- Tomcat配置Https域名访问
- nginx 配置 同一个域名 同时支持iis和tomcat
- Nginx和Tomcat一台服务器配置多个域名
- 抛手绢(链表)
- [译]Rethinking Atrous Convolution for Semantic Image Segmentation
- iOS 开发 申请299美金企业开发账号
- Java web 报400 404的情况
- 101个LINQ示例,包含几乎全部操作
- Centos 6 安装Nginx 和配置tomcat +域名访问全过程。
- python爬虫(6)——获取天猫商品评论信息
- lua中函数注意事项
- MySQL server PID file could not be found! 问题解决
- 我的第一篇CSDN个人博客
- C++学习笔记二之4种访问名称空间std的方法
- css中的BFC
- linux中的软链(symbolic link)
- 弹性布局