日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

(静态资源处理)nginx 比tomcat强在哪

發布時間:2025/3/20 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 (静态资源处理)nginx 比tomcat强在哪 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

nginx有多牛逼

    • 序言
    • 安裝
    • 反向代理
    • 靜態資源服務器
    • nginx vs tomcat壓測對比
        • 并發結果對比
        • 對服務器影響對比
    • 說在后面的話

序言

對于常用的服務器,大家可能更多的知道apache,tomcat,lls等服務器。我們跟多的了解到nginx常常用于反向代理。而實質是nginx也是一個高性能服務器。常用于前端頁面資源靜態化和負載均衡的反向代理。

下面就由博主帶你認識nginx。以及nginx的反向代理、資源靜態化,和壓測對比。

安裝

筆者環境是ubuntu18.04.所以下載東西是非常簡單。centos 的yum源也有nginx。對于window。直接下載使用即可。

  • nginx 下載:sudo apt get nginx
  • jmeter 下載 官網自行安裝 解壓完(sudo chomd -R 777 apache-jmeter-5.1.1)

這樣,一些基本的工具就下載完成啦。直接nginx或者sudo nginx訪問localhost就有hello nginx 就是安裝成功,對于jmeter 如果安裝可以到官網進行安裝。

對于nginx安裝后的一些路徑,都在

  • 所有的配置文件都在/etc/nginx下
  • 程序文件在/usr/sbin/nginx
  • 日志放在了/var/log/nginx中
  • 并已經在/etc/init.d/下創建了啟動腳本nginx

還有nginx的一些常用關閉命令

  • nginx -s reload :修改配置后重新加載生效
  • nginx -s reopen :重新打開日志文件
  • 關閉nginx:
    nginx -s stop :快速停止nginx
    quit :完整有序的停止nginx
  • 其他的停止nginx 方式:
    ps -ef | grep nginx
    kill -9 xxx

如果權限不足記得加上sudo

反向代理


對于nginx,很多人用nginx tomcat做負載均衡。提高系統并發量。
對于nginx的配置文件,在/etc/nginx/conf.d/下新建proxy.conf(也可以在nginx/nginx.conf中配置)
就比如我想用我本地8081端口代理到本地的nginx上

upstream tomcat-server{server 47.100.58.250:8080 ;}server{listen 8081; server_name localhost; location / {proxy_pass http://tomcat-server;root html;index index.html;} }

對于nginx/nginx.conf我進行了修改去掉一些暫時用不到的。

user root; worker_processes auto; error_log /var/log/nginx/error.log; pid /run/nginx.pid;# Load dynamic modules. See /usr/share/nginx/README.dynamic. include /usr/share/nginx/modules/*.conf;events {worker_connections 1024; }http {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 /var/log/nginx/access.log main;client_max_body_size 20m;sendfile on;tcp_nopush on;tcp_nodelay on;keepalive_timeout 65;types_hash_max_size 2048;include /etc/nginx/mime.types;default_type application/octet-stream;# Load modular configuration files from the /etc/nginx/conf.d directory.# See http://nginx.org/en/docs/ngx_core_module.html#include# for more information.include /etc/nginx/conf.d/*.conf; }

這樣,你在本地就可以代理訪問服務器地址http://localhost:8081/
當然,如果有多個server可以在upstream中進行配置,還可配置各個節點的權重等等。具體就不介紹了。

靜態資源服務器

在前后端分離流行的當今。nginx被許多前端愛好者接受。通過nginx能夠簡單的將靜態資源部署,從而達到動靜分離的效果。

nginx配置靜態資源服務器很簡單
在上述同級文件conf.d/下新建static.conf

server {listen 8082;server_name localhost;location / {root /home/tomcat9/webapps/ROOT/;autoindex on;}}

其中root為tomcat的絕對路徑(可以隨便配置),我事先對tomcat的首頁的index.jsp跑起來存成index.html文件。

那么現在我們已經完成兩件事:8081端口負載均衡(反向代理到我服務器),8082端口制成本地tomcat的靜態文件服務器。

那么開啟tomcat。左面是nginx做服務器返回靜態

nginx vs tomcat壓測對比

并發結果對比

  • 我們先前下載的jmeter可以上場了。針對同一個靜態頁面。nginx路徑為http://localhost:8082/,tomcat為http://localhost:8080/.
  • 添加線程組。先測試15000個線程1s內同時請求主頁。線程組中添加http請求。ip:localhost。port:8080
    在添加->監聽器添加自己喜歡數據格式(需要qps的可以找插件)
  • 對比
    其中tomcat,最大qps2400左右

    而nginx的結果明顯要強,最大qps3000左右
  • 對服務器影響對比

    • 當20000個并發10s內請求時候。附上完成時的cpu狀況 tomcat cpu達到21.6%。內存站到6.4%,也就是隨著并發tomcat對服務器的cpu和內存造成不小壓力

      而nginx在壓測過程中內存幾乎沒變化,幾乎不吃內存。而cpu占用也比tomcat少。

    總結:

    指標nginxtomcat
    響應中位數0ms1ms
    前95%響應時間45
    前99%響應時間716
    qps(觀察)30002400
    對內存影響0%6.4%
    對cpu影響21.6%14%
    其他輕便強大java吃點內存、速度慢點

    (測量環境相對統一)

    說在后面的話

    通過系列對比,發現nginx的強大之處。負載均衡和靜態資源服務器能夠為并發減輕壓力。而nginx的學問依然很多。還需要細細研究才行。并且nginx的牛B之處遠不止這些,還需要深入學習才行!

    同時,替自己公眾號打啵廣告。希望一起交流哈

    • 如果對后端、爬蟲、數據結構算法等感性趣歡迎關注我的個人公眾號交流:bigsai

    總結

    以上是生活随笔為你收集整理的(静态资源处理)nginx 比tomcat强在哪的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。