今天就来和大家讲一讲nginx和基于域名搭建虚拟主机
简介
Nginx (engine x) 是一个高性能的Web服务器和反向代理服务器,也是一个IMAP/POP3/SMTP服务器
俄罗斯程序员Igor Sysoev于2002年开始
Nginx是增长最快的Web服务器,市场份额已达33.3%
全球使用量排名第二2011年成立商业公司
Nginx源码结构:
代码量大约11万行C代码
源代码目录结构
core (主干和基础设置)
event (事件驱动模型和不同的IO复用模块)
http (HTTP服务器和模块)
mail (邮件代理服务器和模块)
os (操作系统相关的实现)
misc (杂项)
Nginx特点:
反向代理,负载均衡器
高可靠性、单master多worker模式
高可扩展性、高度模块化
非阻塞
事件驱动
低内存消耗
热部署
nginx应用环境
静态文件服务器
反向代理,负载均衡
安全防御
智能路由(企业级灰度测试、地图POI一键切流)
灰度发布
静态化
消息推送
图片实时压缩
防盗链
常见使用的官方模块
1gx_http_core_module
提供http协议的支持。平常配置的http段、server虚拟主机段、location段等。都是此模块的中的一些配置语法。
ngx_http_proxy_module
使用‘gzip’方法压缩,有助于将传输数据的大小减少为一半甚至更多。提供请求返回速度。
2.3、ngx_http_proxy_module
该模块允许将请求转发到其他服务器,实现代理服务器的功能。
常见于实现反向代理服务器。
ngx_http_rewrite_module
该模块用于使用pcre正则表达式更改请求的URI,返回重定向,或者判断选择对应的配置项。
ngx_http_upstream_module
该模块用户分发到不同的服务器节点。支持由proxy_pass, fastcgi_pass, uwsgi_pass, scgi_pass, memcached_pass, grpc_pass等的服务器组。
Nginx目录说明
conf : Nginx所有配置文件的目录
fastcgi.conf fastcgi相关参数的配置文件
fastcgi.conf.default fastcgi.conf的原始备份
fastcgi_params fastcgi的参数文件
mime.types 媒体类型
nginx.conf Nginx默认的主配置文件
scgi_params scgi相关参数文件
uwsgi_params uwsgi相关参数文件
fastcgi_temp : fastcgi临时数据目录
html : 编译安装Nginx的默认站点目录
50x.html 错误页面优雅替代显示文件
index.html 默认的首页文件,index.html 、index.php等
logs : Nginx默认的日志路径,包括错误日志和访问日志
access.log Nginx的默认访问日志文件, tail -f access.log
error.log Nginx的错误日志文件,如果出现启动故障,要查看该文件
nginx.pid Nginx的pid文件,Nginx进程启动后,会把所有进程的ID号写到此 文件
proxy_temp : 临时目录
sbin : Nginx命令的目录
nginx Nginx的启动命令nginx
scgi_temp : 临时目录
uwsgi_temp : 临时目录
nginx配置参数解释
worker_processes 1; worker进程的数量
worker_connections 1024; 每个worker进程支持的最大连接数
include mime.types; nginx支持的媒体类型库文件
default_type application/octet-stream; 默认的媒体类型
sendfile on; 开启高效传输模式
keepalive_timeout 65; 连接超时
server 表示一个独立的虚拟主机站点
listen 80; 提供服务的端口,默认80
server_name localhost; 提供服务的域名主机名
location location区块
root html 站点的根目录
搭建虚拟主机
1 在 usr/local/nginx/conf/nginx.conf里添加配置文件(格式如下)
server {
listen 80;
server_name www.nautilus.org;
location / {
root html/www;
index index.html index.htm;
}
}
2 在 usr/local/nginx/html里创建一个目录
3进入这个刚创建的文件输入echo "xiaoxiaoxiao" >>index.html(引号里看需要输入)
4 在 etc/hosts 里添加自己的虚拟机IP和虚拟主机的名字
5 看一下nginx启动没有如果没有就启动
6进入 usr/local/nginx/sbin重启文件,命令是./nginx -s reload
7输入curl 虚拟主机名,看是否成功
8如果要在window上查看需要更改C:\Windows\System32\drivers\etc里的hosts文件(需要记事本以管理员模式运行)
原文地址:https://blog.51cto.com/14375700/2416273