nginx服務(wù)特性:
1.支持高并發(fā),消耗資源少
2.功能較多(網(wǎng)站服務(wù),反向代理負(fù)載均衡,緩存功能)
3.使用比較好的網(wǎng)絡(luò)模型(epoll)
1.下載nginx
下載方式有四種,編譯安裝,yum安裝,rpm安裝,二進(jìn)制包安裝方式(fpm,復(fù)雜度較高但比較靈活)在這使用yum安裝
yum安裝:
1.使用擴(kuò)展epoll源,下載穩(wěn)定版.
準(zhǔn)備系統(tǒng)環(huán)境,下載安裝gcc gcc-c++ autoconf yum-utils
rpm -qa gcc gcc-c++ autoconf yum-utils (檢查是否已經(jīng)安裝)
yum install gcc gcc-c++ autoconf yum-utils -y
2.配置yum擴(kuò)展源
vim /etc/yum.repos.d/nginx.repo
3.將文件寫(xiě)入
[nginx-stable]
name=nginx stable repo
baseurl=http:///packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https:///keys/nginx_signing.key
4.yum安裝nginx
yum install nginx
(檢查一下是否使用的擴(kuò)展官方源:nginx-stable)
如果是就輸入y,如果不是清除一下yum緩存
yum clean all
2.nginx重要文件
查看所有文件
rpm -ql nginx
重要文件:
/etc/logrotate.d/nginx(nginx日志配置文件)
/var/run/nginx.pid(nginx主進(jìn)程號(hào))
nginx進(jìn)程:
nginx: master 主進(jìn)程
nginx: worker 工作進(jìn)程
/etc/nginx/nginx.conf(nginx主配置文件)
/etc/nginx/conf.d(主配置文件調(diào)用的配置文件目錄)
/etc/nginx/mime.types(媒體資源庫(kù))
/usr/share/nginx/html/(nginx站點(diǎn)目錄,存放網(wǎng)站資源)
/usr/share/nginx/html/index.html(nginx首頁(yè)文件)
3.nginx參數(shù)
-n 查看詳細(xì)參數(shù)
-v 查看版本信息
-V 查看版本信息和配置信息
-t 檢查配置文件語(yǔ)法是否正確
-T 檢查配置文件語(yǔ)法是否正確并且顯示所有配置文件
-s 啟動(dòng)或者停止服務(wù)
4.檢查nginx
編寫(xiě)主頁(yè)文件后可以使用瀏覽器打開(kāi)進(jìn)行查看
5.使用密碼登錄
server {
listen 80;
server_name www. ;
location / {
root /www;
index index.html;
autoindex on;
autoindex_exact_size off;
auth_basic “oldboy55 auth”;
auth_basic_user_file /etc/nginx/conf.d/passwd;
}
}
autoindex on;開(kāi)啟用戶名認(rèn)證功能
auth_basic_user_file /etc/nginx/conf.d/passwd;用戶名及密碼防止位置
修改文件權(quán)限
chmod 400 passwd
chown nginx.nginx passwd(修改的用戶應(yīng)該是管理nginx服務(wù)work進(jìn)程的用戶)
制作密文密碼放在/etc/nginx/conf.d/passwd文件中
htpasswd -bc /etc/nginx/conf.d/passwd alex 123456
htpasswd功能源自httpd-tools-2.4.6-88.el7.centos.x86_64
6.listen監(jiān)聽(tīng)端口
listen 8080;
訪問(wèn)時(shí)加上端口:http://www.:8080
如果沒(méi)有加端口會(huì)默認(rèn)尋找80端口,在里面找一個(gè)匹配的顯示第一個(gè)server
7.配置多個(gè)location時(shí)要有一個(gè)默認(rèn)的 location/
8.nginx網(wǎng)站目錄索引功能autoindex on;
autoindec_exact_size off 將文件大小以更加方便讀的方式顯示
charset utf-8,gbk; 修改字符集支持中文顯示(寫(xiě)進(jìn)http進(jìn)行全局使用)
9.sendfile on;是否實(shí)現(xiàn)高效傳輸
tcp_nopush off;方式一:節(jié)省數(shù)據(jù)包數(shù)量,盡量整合發(fā)送
tcp_nodelay on方;式二:一旦數(shù)據(jù)拆分結(jié)束就盡快傳輸
10.keeppalived_timeout 60;連接超時(shí)時(shí)間
在傳輸完畢后等待一定時(shí)間后斷開(kāi)連接,如果設(shè)置為0就是短連接
11.
tcp長(zhǎng)連接:一次連接可以發(fā)送多個(gè)請(qǐng)求
tcp短連接:一次連接只能發(fā)送一次請(qǐng)求
12.禁止訪問(wèn)(按照IP劃分)
deny 10.0.0.1;禁止什么訪問(wèn)
allow all;允許什么訪問(wèn)
13.nginx網(wǎng)站服務(wù)訪問(wèn)流量限制
基于用戶訪問(wèn)連接數(shù)量進(jìn)行限制 ngx_http_limit_conn_module
基于用戶訪問(wèn)請(qǐng)求信息進(jìn)行限制 ngx_http_limit_req_module
14.ab網(wǎng)站壓測(cè)命令
ab -c 10 -n 10 http:///oldboy01
15.autoinde on;開(kāi)啟目錄索引功能(移除主語(yǔ)文件)
16. location = /nginx_status {
stub_status;
訪問(wèn)www./nginx_status
打開(kāi)網(wǎng)頁(yè)查看相關(guān)連接數(shù)
Active connections: 7 激活的連接數(shù),同一時(shí)刻有多少再連接
server accepts handled requests 接受的連接數(shù) 處理的連接數(shù) 完成的請(qǐng)求數(shù)
12 12 49
Reading: 0 Writing: 1 Waiting: 6 正在讀取的HTTP報(bào)文 正在傳輸?shù)腍TTP報(bào)文 延遲處理的數(shù)量
17.只允許內(nèi)網(wǎng)地址訪問(wèn)禁止外網(wǎng)訪問(wèn)
server {
listen 172.16.1.7:80;
server_name www. ;
只允許內(nèi)網(wǎng)地址訪問(wèn),不允許外網(wǎng)地址訪問(wèn)
在nginx配置文件中設(shè)計(jì)地址服務(wù)必須重啟服務(wù),不能平滑重啟
18.網(wǎng)站web服務(wù)器的別名
server_name www. ;
既可以用www. 訪問(wèn),也能使用訪問(wèn)
官方網(wǎng)站
http:///
|