1. 程式人生 > >Nginx學習筆記——Helloword

Nginx學習筆記——Helloword

簡述

Nginx是一個開源且高效能、可靠的HTTP中介軟體、代理服務。

優勢

(1)IO多路複用epoll (2)輕量級 (3)CPU親和(affinity) (4)sendfile

環境部署

(1)系統為CentOS 7.2 雙核 1G記憶體 (2)關閉iptables和selinux

iptables -L
iptables -F
iptables -t nat -L
iptables -t nat -F

getenforce
setenforce 0
getenforce

(3)安裝必要的軟體依賴

yum -y install gcc gcc-c++ autoconf pcre pcre-devel make automake
yum -y install wget httpd-tools vim

(4)準備目錄

cd /opt/
mkdir app backup download logs work

快速搭建

(1)Mainline version 開發板 (2)Stable version 穩定版 (3)Legacy version 歷史版本

新增yum源

vim /etc/yum.repos.d/nginx.repo

內容如下:

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1

安裝Nginxyum install nginx。 使用ngnix -v測試安裝版本,出現版本號則安裝成功。

安裝目錄

使用的是yum的安裝方式,使用rpm -ql nginx去檢視所有的安裝檔案。

路徑 型別 作用
/etc/logrotate.d/nginx 配置檔案 Nginx日誌輪轉,用於logrotate服務的日誌切割
/etc/nginx、/etc/nginx/nginx.conf、/etc/nginx/conf.d、/etc/nginx/default.conf 目錄、配置檔案 Nginx主配置檔案
/etc/nginx/fastcgi_params、/etc/nginx/uwsgi_params、/etc/nginx/scgi_params 配置檔案 cgi配置相關,fastcgi配置
/etc/nginx/koi-utf、/etc/nginx/koi-win、/etc/nginx/win-utf 配置檔案 編碼轉換對映轉換檔案
/etc/nginx/mime.types 配置檔案 設定http協議的Content-Type與副檔名的對應關係
/usr/lib/systemd/system/nginx-debug.service、/usr/lib/systemd/system/nginx.service、/etc/sysconfig/nginx、 /etc/sysconfig/nginx-debug 配置檔案 用於配置出系統守護程序管理器管理方式
/usr/lib64/nginx/modules、/etc/nginx/modules 目錄 Nginx模組目錄
/usr/sbin/nginx、/usr/sbin/nginx-debug 命令 Nginx服務的啟動管理的終端命令
/usr/share/doc/nginx-1.14.0、/usr/share/doc/nginx-1.14.0/COPYRIGHT、/usr/share/man/man8/nginx.8.gz 目錄、檔案 Nginx的手冊和幫助檔案
/var/cache/nginx 目錄 Nginx的快取目錄
/var/log/nginx 目錄 Nginx的日誌目錄

編譯引數

使用nginx -V檢視編譯引數。 在這裡插入圖片描述 在這裡插入圖片描述 在這裡插入圖片描述 在這裡插入圖片描述 在這裡插入圖片描述

預設配置語法

/etc/nginx/nginx.conf檔案內容如下:

user  nginx;
worker_processes  1;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include       /etc/nginx/mime.types;
    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  on;

    include /etc/nginx/conf.d/*.conf;
}
屬性 作用
user 設定Nginx服務的系統使用使用者
worker_processes 工作程序數
error_log Nginx的錯誤日誌
pid Nginx服務啟動時候的pid
events.worker_connections 每個程序允許最大連線數
events.use 使用的核心模型(select、poll、epoll)
http.server.listen 監聽埠
http.server.server_name 域名
http.server.location(/).root 首頁路徑存放目錄
http.server.error_page 錯誤碼及錯誤頁面

預設站點的啟動

使用systemctl start nginx.service開啟Nginx服務,使用systemctl stop nginx.service關閉Nginx服務,使用systemctl satus nginx檢視Nginx服務的狀態,使用systemctl restart/reload nginx.service進行快速重啟服務。

訪問

訪問本機IP,即可以看到: 在這裡插入圖片描述 表示啟動成功,這就是Nginx的HelloWorld(這個頁面是/usr/share/nginx/html/index.html,在/etc/nginx/conf.d/default.conf中配置)。