安裝
1. 安裝Homebrew
打開終端,輸入
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
這個步驟可能比較漫長,傻瓜式安裝就可以
確定mac是否安裝了brew,直接輸入brew命令,看見返回信息,就說明已經安裝了
2.依賴Homebrew安裝Nginx
終端輸入
brew install nginx
繼續(xù)需要漫長的等待
可以使用 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進程能并發(fā)處理(發(fā)起)的最大連接數
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 {
# 監(jiān)聽端口
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.配置虛擬主機
就是在一臺服務器啟動多個網站。
如何區(qū)分不同的網站:1.域名不同 2.端口不同
1.1 通過端口區(qū)分不同虛擬機
在 /usr/local/etc/nginx/nginx.conf 可以配置多個server,配置多個虛擬主機。
比如我新增的配置如下
server {
# 監(jiān)聽 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 通過域名區(qū)分虛擬主機
先掌握幾個關鍵名詞
- 域名:就是網站 如 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.負載均衡
未完待續(xù)