### 簡介
>[info]Nginx 是一個高性能的 Web 和反向代理服務器, 它具有有很多非常優越的特性:
>[info]作為 Web 服務器:相比 Apache,Nginx 使用更少的資源,支持更多的并發連接,體現更高的效率,這點使 Nginx 尤其受到虛擬主機提供商的歡迎。能夠支持高達 50,000 個并發連接數的響應,感謝 Nginx 為我們選擇了 epoll and kqueue 作為開發模型.
>[info]作為負載均衡服務器:Nginx 既可以在內部直接支持 Rails 和 PHP,也可以支持作為 HTTP代理服務器 對外進行服務。Nginx 用 C 編寫, 不論是系統資源開銷還是 CPU 使用效率都比 Perlbal 要好的多。
>[info]作為郵件代理服務器: Nginx 同時也是一個非常優秀的郵件代理服務器(最早開發這個產品的目的之一也是作為郵件代理服務器),Last.fm 描述了成功并且美妙的使用經驗。
### 基本功能
* 處理靜態文件,索引文件以及自動索引;
* 反向代理加速(無緩存),簡單的負載均衡和容錯;
* FastCGI,簡單的負載均衡和容錯;
* 模塊化的結構。過濾器包括gzipping, byte ranges, chunked responses, 以及 SSI-filter 。在SSI過濾器中,到同一個 proxy 或者 FastCGI 的多個子請求并發處理;
* SSL 和 TLS SNI 支持;
### 基本操作
#### 啟動
```js
sudo /usr/local/nginx/nginx //直接執行,即可啟動
```
#### 重載
定位到ngnix的`sbin`目錄下,執行如下的操作
```js
./ngnix -s reload
```
#### 從容停止,等所有請求結束后關閉服務
```js
ps -ef |grep nginx
kill -QUIT nginx主進程號
```
#### 快速停止
```js
ps -ef |grep nginx
kill -TERM nginx主進程號
```
#### 殺死進程
```js
kill -9 nginx主進程號
```
### 反向代理(跨域)
```js
http {
server {
listen 8000;
server_name www.domain.com;
location /h1{
index index.html;
# 靜態資源1服務端目錄
root /var/www/domain.com/htdocs1;
}
# 日志地址
access_log logs/8000.access.log main;
}
server {
listen 8002;
server_name www.domain.com;
location /h2{
index index.html;
# 靜態資源2服務端目錄
root /var/www/domain.com/htdocs2;
}
location /api {
# 反向代理
proxy_pass www.domain.com:8001 #已知的請求地址服務器
}
# 日志地址
access_log logs/8002.access.log main;
}
}
```
訪問鏈接`www.domain.com:8003/h2`即可成功訪問部署在`www.domain.com:8002`上的頁面,
頁面自動重定向請求`www.domain.com:8001`上的API。
### 引用
* [中文文檔](http://www.nginx.cn/doc/)
* [用nginx的反向代理機制解決前端跨域問題](https://www.cnblogs.com/gabrielchen/p/5066120.html)
<p class="over"></p>
- 前端
- C1-Javascript
- H5圖片分塊和斷點續傳
- JavascriptPatterns[Stoyanstefanov]
- macotask和microtask
- 前端代碼生成器
- 跨域
- 頁面回到頂部滾動按鈕實現
- C2-CSS
- 瀏覽器的一些單位
- 盒模型
- 移動端判斷橫豎屏
- C3-框架
- ReactNative
- 開發環境搭建(安卓篇)
- Vue
- vue+pdfjs使用
- vue+typescript使用實踐
- vue+webpack3.x集成typescript
- Vue源碼3
- vue源碼分析1
- vue源碼分析2
- vue筆記
- C4-工具
- git
- Gitlab-CICD
- mock規則
- vscode-settings
- webpack自定義命令,切換代理地址
- 正則表達式
- 深入淺出webpack
- C5-Node
- express
- express源碼閱讀
- nightmare使用指南
- 爬蟲1.0
- C6-微信
- 微信
- C7-Canvas
- 基礎API
- 前端隨筆筆記
- 后端
- C1-Java
- shiro
- C2-Linux
- ffmpeg
- ITerm
- Linux
- MongoDB安裝
- MySql安裝
- Ngnix反向代理
- 常見錯誤
- 備忘
- mac
- 備忘-Work
- 備忘Link
- 服務器資源
- 教程
- Hexo個人博客搭建筆錄
- 文檔
- CSS編碼規范
- 前端編碼規范
- 隨筆
- 整理
- 正則
- 鏈接收藏
- 面試
- CodeWars題庫
- CodeWars題庫(二)
- Java社招面試題
- Java面試
- Web面試
- 前端筆試題
- 筆試題