1. 程式人生 > 其它 >nginx編譯安裝

nginx編譯安裝

一、Nginx是什麼?


Nginx是web服務軟體。

Nginx是一個開源且高效能、可靠的http web服務、代理服務的軟體

1、開源
2、Nginx web伺服器
3、Nginx是俄羅斯一個程式設計師
4、Nginx還是代理

二、Nginx和Apache之間對比

網路模型:
select 效能最低
poll 效能稍好
epoll 效能最強

Apache : select
Nginx : epoll

三、安裝Nginx

wget http://nginx.org/download/nginx-1.20.1.tar.gz
tar -xf nginx-1.20.1.tar.gz
cd nginx-1.20.1
./configure --with-http_ssl_module --with-http_v2_module --with-stream --prefix=/usr/local/nginx
make && make install
echo "export PATH=$PATH:/usr/local/nginx/sbin" >> /etc/profile #設定環境變數
source /etc/profile

root@web03 sbin]# vi /usr/lib/systemd/system/nginx.service #加入system管理
[Unit]
Description=nginx - high performance web server
Documentation=http://nginx.org/en/docs/
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target

[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop

[Install]
WantedBy=multi-user.target

systemctl daemon-reload
systemctl start nginx

  

四、nginx常用命令

nginx -v : 展示nginx的版本號
nginx -V :展示nginx版本號和配置引數
nginx -t : 測試配置檔案
nginx -T : 測試配置檔案並列印
nginx -q : 靜默輸出錯誤資訊
nginx -s : 向nginx傳送訊號
nginx -p : 指定執行的家目錄
nginx -e : 設定錯誤日誌的路徑
nginx -c : 設定配置檔案
nginx -g : 臨時設定配置項

五、nginx配置檔案詳解

	
# 工作程序啟動使用者
user  nginx;
# 啟動的worker程序數
worker_processes  auto;
# 指定錯誤日誌的路徑
error_log  /var/log/nginx/error.log notice;
# 指定nginx程序的PID
pid        /var/run/nginx.pid;
# 配置事件
events {
    # worker程序中最大的連線數
    worker_connections  1024;
}

# http配置模組
http {
	# include 是講其他檔案匯入進來
    include       /etc/nginx/mime.types;
	
	# default_type 指定nginx處理檔案的預設型別
    default_type  application/octet-stream;

	# 定義日誌的格式
    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  /var/log/nginx/access.log  main;

	# 高效讀取檔案
    sendfile        on;
    #tcp_nopush     on;
	
	# 長連線的超時時間
	keepalive_timeout  65;

	# 設定GZIP壓縮
    #gzip  on;

	# 載入其他的配置檔案
    include /etc/nginx/conf.d/*.conf;
}

game.conf 
# 每一個server都代表一個網站(nginx是支援多個網站)
server {
	# 指定當前網站的域名
	server_name www.baidu.com;
	
	# 指定當前網站的埠
	listen 80;
	
	# 指定一個訪問路徑
	location / {
		
		# 指定站點目錄
		root /opt/html;
		# 指定預設訪問的檔案
		index index.html;
	}
}

  

nginx和Apache效能對比

https://www.cnblogs.com/RRecal/p/15467229.html