Nginx學習筆記——Helloword
阿新 • • 發佈:2018-12-13
簡述
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
中配置)。