【網絡】安裝Nginx筆記
前言
up安裝nginx主要是為了在服務器上做反向代理。有興趣的同學可以參考下。後面會整理出博客網站搭建的筆記分享出來(其實網上也有很多了)。
原文:李柱明博客://www.cnblogs.com/lizhuming/p/16888637.html
注意:
- 當前筆記基於ubuntu,可直接複製命令。
安裝前先更新下
sudo apt-get update
安裝依賴庫
#安裝openssl庫
sudo apt-get install openssl libssl-dev
#安裝pcre
sudo apt-get install libpcre3 libpcre3-dev
#安裝zlib
sudo apt-get install zlib1g-dev
#安裝編譯包
sudo apt-get install build-essential
下載Nginx
nginx官網://nginx.org/
今具體版本可以去這裡選://nginx.org/download
#在對應目錄下載nginx
wget //nginx.org/download/nginx-1.23.2.tar.gz
#解壓
tar -zxvf nginx-1.23.2.tar.gz
#進入目錄
cd nginx-1.23.2
ngin文件夾內容如下:
lzm@VM-12-11-ubuntu:~/work/blog_server/nginx-1.23.2$ ls
auto CHANGES CHANGES.ru conf configure contrib html LICENSE man README sr
Nginx編譯配置
在安裝配置前,先確認下當前配置:./configure --help
。
如果通過修改參數來修改配置:
如:
- 安裝路徑:
--prefix=/usr/local/nginx
。 - 添加一個模塊功能:
--with-xxx_mmodule
。
我這裡就簡單添加下http的模塊即可:
sudo ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --without-http-cache --with-http_ssl_module --with-http_gzip_static_module
配置成功會顯示1如下:
編譯&安裝&驗證nginx
編譯:
sudo make
安裝:
sudo make install
驗證:
# 切換到nginx安裝路徑
cd /usr/local/nginx
#啟動nginx
sudo ./sbin/nginx
# 查看當前在跑的nginx版本&配置
sudo ./sbin/nginx -V
如下表示啟動成功:
在瀏覽器輸入安裝了nginx的主機IP,出現如下圖即表示nginx正常運行:
Nginx服務配置
配置文件再Nginx安裝目錄下的./conf/nginx.conf
,我們修改該文件根據自己的服務進行配置即可。
配置理解可以參考:菜鳥
- 全局塊 :配置影響nginx全局的指令。一般有運行nginx服務器的用戶組,nginx進程pid存放路徑,日誌存放路徑,配置文件引入,允許生成worker process數等。
- events塊 :配置影響nginx服務器或與用戶的網絡連接。有每個進程的最大連接數,選取哪種事件驅動模型處理連接請求,是否允許同時接受多個網路連接,開啟多個網絡連接序列化等。
- http塊 :可以嵌套多個server,配置代理,緩存,日誌定義等絕大多數功能和第三方模塊的配置。如文件引入,mime-type定義,日誌自定義,是否使用sendfile傳輸文件,連接超時時間,單連接請求數等。
- server塊 :配置虛擬主機的相關參數,一個http中可以有多個server。
- location塊 :配置請求的路由,以及各種頁面的處理情況。
配置SSL
這個按需選擇。
先拿到證書,如果想公網訪問,可去域名處申請免費的SSL證書,如:騰訊雲
申請成功後以nginx下載:
把證書放到指定目錄:主要是兩個文件:證書鏈.pem和私鑰.key
cd /usr/local/nginx
sudo mkdir ./conf/cert
# 根據自己證書的位置操作
cp /home/lzm/cert/xxx.* ./ccert
修改nginx配置:
sudo vim
開放&配置https代碼:
#HTTPS server
server {
listen 443 ssl;
#監聽的地址
server_name localhost;
#改為你的證書
ssl_certificate ./cert/cert.pem;
#改為你的私鑰
ssl_certificate_key ./cert/cert.key;
# session cache功能
ssl_session_cache shared:SSL:1m;
# 會話重用時限
ssl_session_timeout 5m;
# 支持的加密套件
ssl_ciphers HIGH:!aNULL:!MD5;
# 是否由服務器指定加密套件
ssl_prefer_server_ciphers off;
location / {
root html;
index index.html index.htm;
}
}
重啟nginx:
cd /usr/local/nginx/sbin/
sudo ./nginx -s reload
使用https訪問:
參考
- Ubuntu編譯安裝帶ipv6模塊的nginx並配置ssl證書://blog.csdn.net/diqiudq/article/details/122974700
- 配置參考:菜鳥。