- 進入配置文件目錄
# 進入目錄
cd /usr/local/nginx/conf
# 查看配置文件
vi nginx.conf
- 配置文件詳解
########### 每一個指令必須有分號結束。#################
#配置用戶或者組,默認爲nobody nobody
#user administrator administrators;
#容許生成的進程數,默認爲1(CPU覈實)
#worker_processes 2;
#指定nginx進程運行文件存放地址
#pid /nginx/pid/nginx.pid;
#制定日誌路徑,級別。這個設置能夠放入全局塊,http塊,server塊,級別依次爲:debug|info|notice|warn|error|crit|alert|emerg
error_log log/error.log debug;
events {
#設置網路鏈接序列化,防止驚羣現象發生,默認爲on
accept_mutex on;
#設置一個進程是否同時接受多個網絡鏈接,默認爲off
multi_accept on;
#事件驅動模型,select|poll|kqueue|epoll|resig|/dev/poll|eventport
#use epoll;
#最大鏈接數
worker_connections 1024;
}
http {
#文件擴展名與文件類型映射表
include mime.types;
#默認文件類型,默認爲text/plain
default_type application/octet-stream;
#取消服務日誌
#access_log off;
#自定義格式
log_format myFormat '$remote_addr–$remote_user [$time_local] $request $status $body_bytes_sent $http_referer $http_user_agent $http_x_forwarded_for';
#combined爲日誌格式的默認值
access_log log/access.log myFormat;
#容許sendfile方式傳輸文件,默認爲off,能夠在http塊,server塊,location塊。
sendfile on;
#每一個進程每次調用傳輸數量不能大於設定的值,默認爲0,即不設上限。
sendfile_max_chunk 100k;
#鏈接超時時間,默認爲75s,能夠在http,server,location塊。
keepalive_timeout 65;
upstream mysvr {
server 127.0.0.1:7878;
server 192.168.10.121:3333 backup; #熱備
}
#錯誤頁
error_page 404 https://www.baidu.com;
server {
keepalive_requests 120; #單鏈接請求上限次數。
listen 4545; #監聽端口
server_name 127.0.0.1; #監聽地址
#請求的url過濾,正則匹配,~爲區分大小寫,~*爲不區分大小寫。
location ~*^.+$ {
#root path; #根目錄
#index vv.txt; #設置默認頁
#請求轉向mysvr 定義的服務器列表
proxy_pass http://mysvr;
deny 127.0.0.1; #拒絕的ip
allow 172.18.5.54; #容許的ip
}
}
}
- 一般狀況下,爲了使每一個服務器能夠供更多用戶使用,能夠將一個服務器分爲不少虛擬的子服務器,每一個子服務器都是互相獨立的。這些服務器是根據虛擬化技術分出來的,這樣,一臺服務器就能夠虛擬成不少臺子服務器。咱們把子服務器叫作虛擬主機。咱們搭建好Nginx服務器以後,此時只有一臺Nginx服務器,這時若是咱們對這臺服務器進行虛擬主機配置,就能夠將一臺Nginx服務器分割爲多臺獨立的子服務器。Nginx中配置虛擬主機的步驟主要有兩個,第一步是配置IP地址,第二步是綁定IP地址與虛擬主機。
- 配置IP地址
# 查看ip地址信息
ifconfig
# 手動配置ip地址(不要修改ip地址,否則連不上,直接使用分配的IP地址)
ifconfig ens33(eth0)192.168.1.9(1-59) netmask 255.255.255.0
# 虛擬主機ip地址配置(broadcast、netmask要和主IP地址相同)
ifconfig ens33:1 192.168.1.7 broadcast 192.168.1.255 netmask 255.255.255.0
# 查看是否配置好
ifconfig
# 再次配置一個虛擬主機ip地址(修改兩處)
ifconfig ens33:2 192.168.1.17 broadcast 192.168.1.255 netmask 255.255.255.0
- 配置虛擬主機
# 在nginx存放配置文件的目錄下新建一個虛擬主機文件(/usr/local/nginx/conf)
touch xunizhuji.conf
# 在xunizhuji.conf寫入配置
user nobody;
worker_processes 1;
events{
worker_connections 1024;
}
http{
server{
listen 192.168.1.7:80;
server_name 192.168.1.7;
access_log logs/server1.access.log combined;
location /
{
# /usr/local/nginx/html/server1目錄下
index index.html index.htm;
# root是指/usr/local/nginx目錄;server1目錄存放源文件
root html/server1;
}
}
server{
listen 192.168.1.17:80;
server_name 192.168.1.17;
access_log logs/server1.access.log combined;
location /
{
index index.html index.htm;
root html/server2;
}
}
}
# 在目錄/usr/local/nginx/html下新建
mkdir server1
cd server1
# 建立首頁
touch index.html
mkdir server2
cd server2
touch index.html