java集群优化——Nginx+tomcat集群配置-实践篇
上篇文章,我们针对集群中的Nginx+tomcat技术理论进行了介绍,今天,咱们一起来完成一个简单的集群搭建
结果预览
大家先看看配置之后的结果:
配置步骤:
1. 安装
从Nginx官网下载页面(http://nginx.org/en/download.html)下载Nginx最新版本(目前是1.9.3版本)安装包,解压后复制到部署目录。2. 启动和停止Nginx
Nginx目前只支持命令行操作,操作前先进入Dos命令环境(cmd命令),并进入Nginx部署目录。启动Nginx:start nginx
停止Nginx:nginx -s stop
修改配置后重启:nginx -s reload
这三个命令可分别做成bat文件,放在部署目录下,方便后续操作。
start nginx.bat文件内容:start nginx
stop nginx.bat文件内容:nginx -s stop
reload nginx.bat文件内容:nginx -s reload
3. 反向代理配置
修改部署目录下conf子目录的nginx.conf文件(如nginx-1.5.13\conf\nginx.conf)内容,可调整相关配置。
反向代理配置示例:location / { #设置主机头和客户端真实地址,以便服务器获取客户端真实IP proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #禁用缓存 proxy_buffering off; #设置反向代理的地址 proxy_pass http://192.168.1.1; }
4. 负载均衡配置
nginx 的 upstream默认是以轮询的方式实现负载均衡,这种方式中,每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。另外一种方式是ip_hash:每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
负载均衡配置示例
upstream xvshu.com{ #ip_hash; server 192.168.121.251 1; server 192.168.121.252 1; server 192.168.121.253 1; } server { listen 80 server_name trffweb; location / { #反向代理的地址 proxy_pass http://<span style="font-family: Arial, Helvetica, sans-serif;">xvshu.com</span><span style="font-family: Arial, Helvetica, sans-serif;">; </span> } }
5. 完整配置示例
nginx.conf: #Nginx所用用户和组,window下不指定 #user niumd niumd; #工作的子进程数量(通常等于CPU数量或者2倍于CPU) worker_processes 1; #错误日志存放路径 #error_log logs/error.log; #error_log logs/error.log notice; error_log logs/error.log info; #指定pid存放文件 pid logs/nginx.pid; events { #使用网络IO模型linux建议epoll,FreeBSD建议采用kqueue,window下不指定。 #use epoll; #允许最大连接数 worker_connections 2048; } 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 off; #access_log logs/access.log; #client_header_timeout 3m; #client_body_timeout 3m; #send_timeout 3m; #client_header_buffer_size 1k; #large_client_header_buffers 4 4k; sendfile on; #tcp_nopush on; #tcp_nodelay on; keepalive_timeout 75; #include gzip.conf; upstream xvshu.cn{ #根据ip计算将请求分配各那个后端tomcat,许多人误认为可以解决session问题,其实并不能。 #同一机器在多网情况下,路由切换,ip可能不同 #ip_hash; server 192.168.112.250:18080 weight=1; server 192.168.112.251:18080 weight=1; } server { listen 80; server_name localhost; #定义server_name localhost中的请求都叫给xvshu.cn处理 location / { #proxy_connect_timeout 3; #proxy_send_timeout 30; #proxy_read_timeout 30; proxy_pass http://xvshu.cn; proxy_redirect default; } } }
遇到的问题:
重新加载nginx服务失败,提示没有对应的服务,这时候可以尝试手动重启服务器
总结:
一个好的工具,不仅仅是实现了好的功能,还有更重要的一点就是,一定要有更简单的业务逻辑,这样用户在使用这款工具的时候才能顺利过渡,而Nginx这款软件,对于广大开发者恰恰符合这两个要求,不用心,用户就会体会到,用心了,就是让用户体会不到,离不开!这不就是互联网产品的思维吗?
版权声明:本文为博主原创文章,未经博主允许不得转载。
以上就介绍了 java集群优化——Nginx+tomcat集群配置-实践篇,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Untuk membenarkan pelayan Tomcat mengakses rangkaian luaran, anda perlu: mengubah suai fail konfigurasi Tomcat untuk membenarkan sambungan luaran. Tambahkan peraturan tembok api untuk membenarkan akses kepada port pelayan Tomcat. Buat rekod DNS yang menunjukkan nama domain ke IP awam pelayan Tomcat. Pilihan: Gunakan proksi terbalik untuk meningkatkan keselamatan dan prestasi. Pilihan: Sediakan HTTPS untuk meningkatkan keselamatan.

Langkah-langkah untuk menjalankan ThinkPHP Framework secara setempat: Muat turun dan nyahzip ThinkPHP Framework ke direktori tempatan. Buat hos maya (pilihan) yang menunjuk ke direktori akar ThinkPHP. Konfigurasikan parameter sambungan pangkalan data. Mulakan pelayan web. Mulakan aplikasi ThinkPHP. Akses URL aplikasi ThinkPHP dan jalankannya.

Untuk menyelesaikan ralat "Selamat datang ke nginx!", anda perlu menyemak konfigurasi hos maya, dayakan hos maya, muat semula Nginx, jika fail konfigurasi hos maya tidak dapat ditemui, buat halaman lalai dan muat semula Nginx, kemudian mesej ralat akan hilang dan laman web akan menjadi paparan biasa.

Menukar fail HTML kepada URL memerlukan pelayan web, yang melibatkan langkah berikut: Dapatkan pelayan web. Sediakan pelayan web. Muat naik fail HTML. Buat nama domain. Halakan permintaan.

Langkah-langkah penggunaan pelayan untuk projek Node.js: Sediakan persekitaran penggunaan: dapatkan akses pelayan, pasang Node.js, sediakan repositori Git. Bina aplikasi: Gunakan npm run build untuk menjana kod dan kebergantungan yang boleh digunakan. Muat naik kod ke pelayan: melalui Git atau Protokol Pemindahan Fail. Pasang kebergantungan: SSH ke dalam pelayan dan gunakan pemasangan npm untuk memasang kebergantungan aplikasi. Mulakan aplikasi: Gunakan arahan seperti node index.js untuk memulakan aplikasi, atau gunakan pengurus proses seperti pm2. Konfigurasikan proksi terbalik (pilihan): Gunakan proksi terbalik seperti Nginx atau Apache untuk menghalakan trafik ke aplikasi anda

Arahan yang paling biasa digunakan dalam Dockerfile ialah: DARI: Cipta imej baharu atau terbitkan imej baharu RUN: Laksanakan arahan (pasang perisian, konfigurasikan sistem) COPY: Salin fail tempatan ke imej TAMBAH: Sama seperti COPY, ia boleh menyahmampat secara automatik tar arkib atau dapatkan fail URL CMD: Tentukan arahan apabila bekas bermula DEDAHKAN: Isytiharkan port mendengar kontena (tetapi tidak umum) ENV: Tetapkan pembolehubah persekitaran VOLUME: Pasang direktori hos atau volum tanpa nama WORKDIR: Tetapkan direktori kerja dalam bekas ENTRYPOINT: Tentukan perkara yang hendak dilaksanakan apabila bekas itu memulakan Fail Boleh laku (serupa dengan CMD, tetapi tidak boleh ditimpa)

Ya, Node.js boleh diakses dari luar. Anda boleh menggunakan kaedah berikut: Gunakan Cloud Functions untuk menggunakan fungsi dan menjadikannya boleh diakses secara umum. Gunakan rangka kerja Express untuk membuat laluan dan menentukan titik akhir. Gunakan Nginx untuk membalikkan permintaan proksi kepada aplikasi Node.js. Gunakan bekas Docker untuk menjalankan aplikasi Node.js dan dedahkannya melalui pemetaan port.

Untuk berjaya menggunakan dan menyelenggara tapak web PHP, anda perlu melakukan langkah berikut: Pilih pelayan web (seperti Apache atau Nginx) Pasang PHP Cipta pangkalan data dan sambungkan PHP Muat naik kod ke pelayan Sediakan nama domain dan Pemantauan DNS penyelenggaraan tapak web langkah termasuk mengemas kini PHP dan pelayan web, dan membuat sandaran tapak web, memantau log ralat dan mengemas kini kandungan.
