安装
1. 安装Homebrew
打开终端,输入
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
这个步骤可能比较漫长,傻瓜式安装就可以
确定mac是否安装了brew,直接输入brew命令,看见返回信息,就说明已经安装了
2.依赖Homebrew安装Nginx
终端输入
brew install nginx
继续需要漫长的等待
可以使用 nginx -v
来查看当前安装的版本,也可以验证 Nginx 是否安装成功
3.启动Nginx
终端输入
nginx
输入这个命令后,终端没有任何新的提示。打开浏览器,输入 localhost:8080
如果出现一下界面,就说明安装成功,否者重复上面的步奏
到这里,nginx的安装已经基本完成。下面就是配置相关的设置了
配置
常用目录
/usr/local/Cellar/nginx/1.12.2_1 (ngnix安装目录,后面的是当前安装的版本号,根据实际情况可能不同)
/usr/local/var/www (服务器默认路径)
/usr/local/etc/nginx (nginx配置文件所在位置)
常用命令
启动: nginx
退出: nginx -s quit 、nginx -s stop
重新加载: nginx -s reload
如果命令前面加 sudo 表示使用超级管理员的身份启动
配置nginx进入配置文件目录 /usr/local/etc/nginx
打开nginx.conf 文件
可以看到很多配置信息
#user nobody;
# 在配置文件的顶级main部分,代表worker角色的工作进程的个数
worker_processes 1;
# 错误日志
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
# 进程文件
#pid logs/nginx.pid;
events {
# 写在events部分。每一个worker进程能并发处理(发起)的最大连接数
worker_connections 1024;
}
http {
# 文件扩展名与文件类型映射表
include mime.types;
# 设定默认文件类型
default_type application/octet-stream;
# 为Nginx服务器设置详细的日志格式
#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 记录了哪些用户,哪些页面以及用户浏览器、ip和其他的访问信息
# access log 路径
#access_log logs/access.log main;
# 开启高效文件传输模式,sendfile指令指定nginx是否调用sendfile函数来输出文件,对于普通应用设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络I/O处理速度,降低系统的负载。注意:如果图片显示不正常把这个改成off。
sendfile on;
#tcp_nopush on;
#心跳检测,用于重连等操作
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
# 这个是常修改的配置
# 虚拟主机配置
server {
# 监听端口
listen 8080;
# 域名设定,可以有多个
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
# 访问当前端口时,默认映射查找的文件目录地址
# 默认为 /usr/local/var/www
# 如果自己配置 service 修改root 地址为你的文件所在目录
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;
}
}
# 配置信息文件夹,会加载这个文件夹下的所有配置文件
include servers/*;
}
配置文件默认访问的是8080端口,如果我们想访问其他的端口,我们在 nginx.conf 文件中进行配置即可
1.配置虚拟主机
就是在一台服务器启动多个网站。
如何区分不同的网站:1.域名不同 2.端口不同
1.1 通过端口区分不同虚拟机
在 /usr/local/etc/nginx/nginx.conf 可以配置多个server,配置多个虚拟主机。
比如我新增的配置如下
server {
# 监听 81 端口
listen 81;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
# 访问 /Users/LXX/HBuilderProjects/Html5Test 文件
root /Users/LXX/HBuilderProjects/Html5Test;
# 默认访问 Canvas.html;
index Canvas.html;
}
}
保存配置文件后,让nginx重新加载配置文件 nginx -s reload
在浏览器中输入http://localhost:81/
即可访问到指定的文件
1.2 通过域名区分虚拟主机
先掌握几个关键名词
- 域名:就是网站 如 www.baidu.com
- Dns服务器:把域名解析为ip地址。保存的就是域名和ip的映射关系。
一个域名对应一个ip地址,一个ip地址可以被多个域名绑定。
本地测试可以修改hosts文件。
mac电脑的hosts文件位置 /private/etc/hosts 如果要修改hosts 文件,需要先拷贝hosts 文件到其他位置,修改完成后再复制到/private/etc文件夹下
可以配置域名和ip的映射关系,如果hosts文件中配置了域名和ip的对应关系,不需要走dns服务器。
- 修改hosts文件
192.168.14.101 www.taibai.com
192.168.14.101 www.baide.com
2.增加虚拟主机
server {
listen 80;
server_name www.taibai.com;
location / {
root /Users/LXX/HBuilderProjects/TestHtml;
index CSS.html;
}
}
server {
listen 80;
server_name www.baide.com;
location / {
root /Users/LXX/HBuilderProjects/TestHtml;
index index.html index.htm;
}
}
2.实现反向代理
3.负载均衡
未完待续