千家信息网

CentOS7服务器如何搭建NGINX

发表于:2024-11-29 作者:千家信息网编辑
千家信息网最后更新 2024年11月29日,小编给大家分享一下CentOS7服务器如何搭建NGINX,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!nginx的yum源安装文档:http://nginx.org/en/linux
千家信息网最后更新 2024年11月29日CentOS7服务器如何搭建NGINX

小编给大家分享一下CentOS7服务器如何搭建NGINX,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

nginx的yum源安装文档:http://nginx.org/en/linux_packages.html

安装方式

创建yum源文件

vim /etc/yum.repos.d/nginx.repo

增加以下内容

[nginx]name=nginx repobaseurl=http://nginx.org/packages/centos/7/$basearch/gpgcheck=0enabled=1

执行命令:

yum install nginxsystemctl start nginxsystemctl enable nginx

配置文件

修改配置文件

vim /etc/nginx/nginx.conf

增加并发量

# 总并发量为worker_processes*worker_connections。如果使用反向代理,则一个请求消耗两个连接(连接客户端一个,连接后端tomcat一个)。# 一般与cpu核数一致,如1个cpu、每个cpu有个4核心,则设置为4;2cpu、每个cpu有个4核心,则设置为8。worker_processes  1;events {  worker_connections  20480;}http {  ...  # 原有配置无需改动,增加下面的配置  ...  # 同级代理不需要redirect。如根目录代理至根目录。  proxy_redirect              off;  # 解决获取访问域名的问题。否则该方法无法获取请求访问的域名:request.getServerName();  proxy_set_header            Host $host;  # 解决获取访问者IP地址的问题。  proxy_set_header            X-Real-IP $remote_addr;  proxy_set_header            X-Forwarded-For $proxy_add_x_forwarded_for;  # 解决 WebSocket Proxy 问题。nginx文档:https://www.nginx.com/blog/websocket-nginx/  proxy_set_header            Upgrade $http_upgrade;  proxy_set_header            Connection "Upgrade";  # 请求体最大尺寸,主要是上传文件。默认1M  client_max_body_size        4000m;  # 请求体缓存,超过缓存值就写入临时文件。默认16k  client_body_buffer_size     128k;  # 开启ssi  ssi on;  ssi_types text/shtml;  # 开启gzip  gzip            on;  # 启用压缩的最小文件指,默认20。太小的文件有可能越压缩越大,设置为1000比较合适。  gzip_min_length 1000;  # 压缩级别,1-9,越大压缩的越小,但也越慢且越费CPU。默认1。设置为2一般足够了,追求更高的压缩率可以设置为5,再高意义不大。  gzip_comp_level 2;  # 作为代理时,无条件开启gzip。  gzip_proxied    any;  #gzip_proxied    expired no-cache no-store private auth;  # 任何类型都进行压缩,避免一个个设置,容易遗漏。  gzip_types      *;}

整合tomcat

创建配置文件。在/etc/nginx/conf.d/目录下所有.conf结尾的文件都会被自动加载。

vim /etc/nginx/conf.d/jspxcms.conf

配置文件内容如下:

server {  listen       80;  server_name  www.jspxcms.com;  root         /data/tomcat/jspxcms/webapps/ROOT;  index        index.html index.htm index.shtml;  location / {    # 如果uri地址对应文件或目录不存在,则使用代理转发到tomcat    # try_files  $uri $uri/index.html $uri/index.htm @proxypass;    # 查找目录可以利用nginx将文件重定向至目录,如访问 /foo,目录存在的话,会重定向至 /foo/    try_files  $uri $uri/ @proxypass;  }  # 如使用 try_files  $uri $uri/ @proxypass; 则必须加上这项,否则可能出现首页无法访问的情况  location = / {    try_files  /index.html @proxypass;  }  location @proxypass {    # 代理至tomcat,tomcat需监听10001端口    proxy_pass http://localhost:10001;  }  # 禁止访问/WEB-INF/目录下文件  location /WEB-INF/ {    deny  all;  }}# 将jspxcms.com重定向至www.jspxcms.comserver {  listen 80;  server_name jspxcms.com;  rewrite ^/(.*) http://www.jspxcms.com/$1 permanent;}

如没有使用restful,只代理特定的url后缀,可以使用以下配置:

server {    listen       80;    server_name  www.jspxcms.com jspxcms.com;    if ($host = 'jspxcms.com' ) {        rewrite ^/(.*)$ http://www.jspxcms.com/$1 permanent;    }    location ~ \.?(jsp|jspx|do|servlet)?(\;jsessionid=.*)?$ {      proxy_pass http://localhost:10001;    }    location / {        root   /home/jspxcms/webapps/ROOT;        index  index.html index.shtml index.jspx index.do;    }    location /WEB-INF/ {        deny  all;    }}

看完了这篇文章,相信你对"CentOS7服务器如何搭建NGINX"有了一定的了解,如果想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!

0