今天就来和你们讲一讲nginx和基于域名搭建虚拟主机php
Nginx (engine x) 是一个高性能的Web服务器和反向代理服务器,也是一个IMAP/POP3/SMTP服务器html
俄罗斯程序员Igor Sysoev于2002年开始
Nginx是增加最快的Web服务器,市场份额已达33.3%
全球使用量排名第二2011年成立商业公司nginx
代码量大约11万行C代码
源代码目录结构
core (主干和基础设置)
event (事件驱动模型和不一样的IO复用模块)
http (HTTP服务器和模块)
mail (邮件代理服务器和模块)
os (操做系统相关的实现)
misc (杂项)程序员
反向代理,负载均衡器
高可靠性、单master多worker模式
高可扩展性、高度模块化
非阻塞
事件驱动
低内存消耗
热部署正则表达式
静态文件服务器
反向代理,负载均衡
安全防护
智能路由(企业级灰度测试、地图POI一键切流)
灰度发布
静态化
消息推送
图片实时压缩
防盗链安全
1gx_http_core_module服务器
提供http协议的支持。日常配置的http段、server虚拟主机段、location段等。都是此模块的中的一些配置语法。app
ngx_http_proxy_module负载均衡
使用‘gzip’方法压缩,有助于将传输数据的大小减小为一半甚至更多。提供请求返回速度。curl
2.三、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等的服务器组。
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 : 临时目录
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 reload7输入curl 虚拟主机名,看是否成功8若是要在window上查看须要更改C:\Windows\System32\drivers\etc里的hosts文件(须要记事本以管理员模式运行)