小编给大家分享一下CentOS7服务器如何搭建NGINX,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
nginx的yum源安装文档:http://nginx.org/en/linux_packages.html
创建yum源文件
vim /etc/yum.repos.d/nginx.repo
增加以下内容
[nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/7/$basearch/ gpgcheck=0 enabled=1
执行命令:
yum install nginx systemctl start nginx systemctl 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 *; }
创建配置文件。在/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.com server { 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”有了一定的了解,如果想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。