Centos 7 安装nginx 并结合 tomcat 反向代理


下载nginx地址:http://nginx.org/en/download.html
nginx安装
安装依赖
1. yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel

2.下载好nginx-1.8.1.tar.gz存放到 服务器Centos 7 上的 /usr/local/ 下

3.解压 nginx-1.8.1.tar.gz

4.进行configure配置(ps:当前我在 /usr/local/ 的位置,执行以下命令)
cd /usr/local/nginx-1.8.1 && ./configure --prefix=/usr/local/nginx

2.下载好nginx-1.8.1.tar.gz存放到 服务器Centos 7 上的 /usr/local/ 下

3.解压 nginx-1.8.1.tar.gz

4.进行configure配置(ps:当前我在 /usr/local/ 的位置,执行以下命令)

cd /usr/local/nginx-1.8.1 && ./configure --prefix=/usr/local/nginx

5.编译安装(ps:4步骤执行后,马上进行5步骤)
make && make install

安装完毕后,将在/usr/local/下看到nginx文件夹,nginx文件夹中有四个文件夹:
conf 存放配置文件
html 存放静态页面
logs 存放日志文件
sbin 执行文件

6.启动 nginx
/usr/local/nginx/sbin/nginx //启动
/usr/local/nginx/sbin/nginx -s stop //关闭
/usr/local/nginx/sbin/nginx -s reload //重启
附带:查看启动状态
ps -ef | grep nginx

启动成功如图:


浏览器访问即可,出现下图经典欢迎页面表示 nginx 安装成功



ps:如果登录不到,就可能是防火墙屏蔽80端口,需要如下代码释放80端口:
firewall-cmd --permanent --zone=public --add-port=80/tcp
firewall-cmd --permanent --zone=public --add-port=80/udp
firewall-cmd --reload

nginx配置
nginx 的配置文件默认位于 /usr/local/nginx/conf/ 下的 nginx.conf

nginx简单的配置讲解(ngnix.conf文件)

#开启进程数 <=CPU数
worker_processes 1;
#自定义错误日志保存位置,全局设置,默认logs/error.log
#error_log logs/error.log;
#每个进程最大连接数(最大连接=连接数x进程数)每个worker允许同时产生多少个链接,默认1024
events {
worker_connections 1024;
}
#
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"';
#自定义全局请求日志保存位置,全局设置,默认logs/access.log, 定义格式:文件存储位置 + 日志输出格式
#access_log logs/access.log main;
#打开发送文件
sendfile on;
#连接超时时间
#keepalive_timeout 0;
keepalive_timeout 65;
#打开gzip压缩
#gzip on;
#配置虚拟主机,基于域名、ip和端口,可以配置多个server
server {
#监听端口,可以是ip:port 或者 port
listen 80;
#监听域名,可以是ip或者域名,server_name有三种匹配方式:精准匹配(www.domain.com)、通配符匹配(*.domain.com 、www.*)、正则表达式匹配(~^(?.+)\.domain\.com$)
server_name localhost;
#自定义请求日志,局部,当前server有效
#access_log logs/host.access.log main;
#错误页面及其返回地址
error_page 500 502 503 504 /50x.html;
#请求匹配,同样有精准(= /index.html)、模糊(~ index)、正则,允许配置多个location
location / {
#返回根路径地址(相对路径:相对于/usr/local/nginx/)
root html;
#默认主页
index index.html index.htm;
}
#
location /html {
root html;
index index.html index.htm;
}
#
}
#
}

nginx反向代理配置
反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求,发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。
1 -- 一个端口跑多个应用,解决80端口占用问题;
2--对静态资源进行压缩,提升性能等等;

nginx反向代理其实主要通过配置 proxy_pass参数即可代理到某个服务器
vim /usr/local/nginx/conf/nginx.conf

添加如下配置即可:
location / { //在对应的 location 中配置,配置中的监听端口为80
proxy_pass http://127.0.0.1:8081 #我这里tomcat的端口为8081
root html;
index index.html index.htm;
}

启动
tomcat、nginx,/usr/local/nginx/sbin/nginx

tomcat
启动: /usr/local/tomcat8/bin/startup.sh
关闭: /usr/local/tomcat8/bin/shutdown.sh
ngnix
启动: /usr/local/nginx/sbin/nginx
关闭: /usr/local/nginx/sbin/nginx -s stop

问题记录

一、ngnix启动后,图片、js、css等静态资源访问不到。
原因,资源指向配置问题,如下图:




你可能感兴趣的:(Centos 7 安装nginx 并结合 tomcat 反向代理)