“nginx与apache相比有多高效”,相信大家都挺多,今天重点不是讲这个,而是记录一下自己学习了Nginx的学习和实践的过程。
这两天下载了nginx(
官网下载地址)看了一些相关文档,今天就动手实践一下,本次实践是主要的功能是在nginx中实现负载均衡和反向代理。
nginx.conf配置文件
#用户 用户组
#user www www;
#工作进程
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 {
#工作进程的最大连接数量
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"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
#配置自己的虚拟主机
server {
listen 80;
#域名
server_name www.xiaoyang.com;
#日志文件路径
access_log logs/xiaoyang.access.log;
#1、负载均衡-轮询(默认)
#每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
#upstream tomcats {
# server 127.0.0.1:8080;
# server 127.0.0.1:8180;
#}
#2、负载均衡-weight
#指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
#upstream tomcats {
# server 127.0.0.1:8080 weight=3;
# server 127.0.0.1:8180 weight=7;
#}
#3、负载均衡-ip_hash
#每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
#upstream tomcats {
# ip_hash;
# server 127.0.0.1:8080;
# server 127.0.0.1:8180;
#}
#负载均衡
upstream tomcats {
server 127.0.0.1:8080 weight=3;
server 127.0.0.1:8180 weight=7;
}
#/都进行反向代理
location / {
root html;
index index.html index.htm;
proxy_pass http://tomcats;
proxy_set_header X-Real-IP $remote_addr;
}
#/images 路径下的全部恳求
location ~ ^/images/ {
root html/images;
}
#location ~ \.(gif|jpg|jpeg|png|bmp|ico)$ {
# root html/images/;
# expires 24h;
#}
}
# HTTPS server
#
#server {
# listen 443;
# server_name localhost;
# ssl on;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;
# ssl_session_timeout 5m;
# ssl_protocols SSLv2 SSLv3 TLSv1;
# ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on;
# location / {
# root html;
# index index.html index.htm;
# }
#}
}
分享到:
相关推荐
《Nginx Cookbook》不仅是一本入门指南,它为有经验的系统管理员和开发者提供了大量的实例和实践指导。通过本书的学习,读者将能够迅速提升Nginx的实战能力,无论是在优化现有Web服务方面,还是在构建高可用、高性能...
**Nginx安装详解** Nginx是一款高性能的HTTP和反向代理服务器,以其轻量级、稳定性和高并发处理能力...通过以上步骤,你已经成功安装并初步配置了Nginx。继续学习和实践,将能更好地发挥Nginx在Web服务中的强大潜力。
**Nginx 集群和动静分离初步配置** Nginx 是一款高性能的 HTTP 和反向代理服务器,常用于构建高可用性和高并发性的 Web 服务。在本篇文章中,我们将探讨如何设置 Nginx 集群以及实现动静分离,以优化网站性能。 ...
初步探索Nginx的源代码结构和组织方式。 **15.9 Nginx代码分析之(二)——EmptyGif是如何工作的** 深入分析Nginx中用于生成透明GIF图片的代码实现。 **15.10 Nginx连接处理** 解析Nginx如何处理客户端连接,包括...
**Nginx 1.4.2 安装与配置详解** Nginx 是一款高性能、轻量级的 Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,由俄罗斯的...通过深入了解和实践,你可以充分利用它的优势,构建出高性能的 Web 系统。
总的来说,Nginx的安装和基本使用涉及到了对Linux平台环境的准备、对Nginx源码编译依赖工具的安装、编译安装Nginx以及初步的配置。掌握这些步骤对于搭建稳定高效的Web服务至关重要。由于篇幅所限,文中未涉及高级...
**实战Nginx** 在IT行业中,Nginx是一个广泛使用的高性能HTTP和反向代理服务器,也...通过以上内容,你应该对实战Nginx有了初步了解。实际操作中,要根据项目需求灵活配置,不断探索和实践,才能充分发挥Nginx的优势。
在Windows操作系统下安装Nginx,是一个IT管理及开发人员常见的一项任务,尤其适用于开发环境或是轻量级的Web服务器搭建。...通过实践操作和不断的学习,用户可以充分发挥Nginx的强大功能,服务于Web开发和运维工作。
### Nginx实践 - **Nginx新手起步**:掌握Nginx的基本配置,如location匹配规则、静态文件服务、日志记录、反向代理和负载均衡。 - **常见错误与陷阱**:学习Nginx常见配置错误和性能优化技巧。 ### OpenResty环境...
总的来说,本教程提供了一个简单的云主机建站流程,包括安装Nginx、配置静态页面、开启PHP支持,以及初步的PHP配置。对于初学者来说,这是一个很好的起点,能够帮助他们理解服务器端的基本操作和网站部署的流程。...
- 适用场景:初步测试、小规模压测。 2. **线上环境**: - 特点:环境更接近实际生产环境,结果更为可靠;但操作复杂度高,需要考虑数据和业务的安全性问题。 - 适用场景:大规模压测、最终验证。 #### 六、线上...
本课程为微服务上云开发的指导课程,涵盖微服务架构解析、服务中心、路由网关、...2. 了解各个微服务组件的运行机理,初步掌握微服务开发能力; 3. 了解DevOps持续交付理念,学会使用DevCloud完成简单的敏捷开发实践。
这部分内容可能涉及安全生态的目标、愿景和初步构建理念。苏宁的安全生态不仅仅是一套安全防御工具的集合,而是涵盖了从防御到检测,从管理到研发的全方位安全解决方案。 苏宁安全生态基础部分可能涉及到了安全生态...
PHP是跨平台的,可以在多种操作系统上运行,并且与大多数Web服务器兼容,如Apache和Nginx。 2. PHP环境搭建: 要开始学习PHP,首先需要安装一个本地开发环境,比如XAMPP或WAMP。这些套装包含了Apache服务器、MySQL...
初步认识RabbitMQ及高可用集群部署 详解RabbitMQ消息分发机制及主题消息分发 RabbitMQ消息路由机制分析 RabbitMQ消息确认机制 Redis redis数据结构分析 Redis主从复制原理及无磁盘复制分析 Redis管道模式...
【正文】 ... 首先,我们要理解Linux操作系统的基础。...在实际项目中,还需要关注安全、性能优化、日志监控等方面,但以上步骤为你提供了初步的开发平台。继续学习和实践,你将能够熟练地驾驭这个强大的技术组合。
这可能包括选择合适的服务器环境(如Apache或Nginx),配置Web服务器,以及设置环境变量和数据库连接。同时,要进行性能测试和安全检查,确保系统在上线后能稳定运行,并有效防范SQL注入、XSS攻击等网络安全问题。 ...
在负载均衡体系中,Web服务器常常用于请求的分发和负载的初步处理。 8. **网络拓扑结构**:文档提到了数据中心(DMZ)的网络组织形式,其中DMZ(非军事区)是一种常见的网络架构,用于放置那些对外提供服务但需要...