5、架構--Nginx、超級瑪麗
阿新 • • 發佈:2021-12-31
筆記
1、晨考
1、NFS共享檔案步驟 - 服務端 [root@backup ~]# yum install nfs-utils rpcbind -y [root@backup ~]# mkdir /backup [root@backup ~]# vim /etc/exports /backup 172.16.1.0/20(rw,sync,all_squash,anonuid=666,anongid=666) [root@backup ~]# groupadd www -g 666 [root@backup ~]# useradd www -u 666 -g 666 -M -r -s /sbin/nologin [root@backup ~]# chown -R www.www /backup [root@backup ~]# systemctl start nfs-server rpcbind - 客戶端 [root@backup ~]# yum install nfs-utils -y [root@backup ~]# mount -t nfs 172.16.1.31:/backup /opt 2、安裝WEb服務的步驟 [root@backup ~]# yum install httpd php php-devel -y [root@backup ~]# cd /var/www/html
2、昨日問題
1、nfsnobody 2、NFS掛載無法持久化 1、通過開機自啟動指令碼掛載 [root@web01 html]# vim /etc/rc.local /usr/bin/mount -t nfs 172.16.1.31:/web/upload /var/www/html/upload [root@web01 html]# chmod +x /etc/rc.d/rc.local 2、通過/etc/fstab配置檔案 [root@web02 ~]# vim /etc/fstab # 掛載點 掛載的目錄 型別 設定預設許可權 0 不備份 1 備份 0 不檢查 1 檢查 172.16.1.31:/web/upload /var/www/html/upload nfs defaults 0 0 [root@web02 ~]# mount -a
3、今日內容
1、瞭解web服務
2、部署Nginx
Nginx和Apache的對比
4、什麼是web服務
web就是B/S架構
5、web伺服器軟體
1、apache
網路模型
select
poll
epoll
2、Nginx
官網:https://nginx.org/
軟體:https://nginx.org/download/
6、部署Nginx
1、yum安裝 [root@web01 ~]# vim /etc/yum.repos.d/nginx.repo [root@web01 ~]# yum install nginx -y [root@web01 ~]# systemctl stop httpd [root@web01 ~]# systemctl start nginx 2、二進位制安裝 3、編譯安裝 [root@web01 ~]# wget https://nginx.org/download/nginx-1.20.2.tar.gz [root@web01 ~]# tar -xf nginx-1.20.2.tar.gz [root@web01 nginx-1.20.2]# ./configure [root@web01 nginx-1.20.2]# make [root@web01 nginx-1.20.2]# make install
7、平滑增加Nginx模組
增加模組必須重新編譯。
[root@web01 ~]# tar -xf nginx-1.20.2.tar.gz
[root@web01 ~]# cd nginx-1.20.2
[root@web01 nginx-1.20.2]#./configure --with-http_ssl_module
[root@web01 nginx-1.20.2]#make
[root@web01 nginx-1.20.2]#make install
8、Nginx的命令
1、-v : 列印版本號
[root@web01 ~]# nginx -v
nginx version: nginx/1.20.2
2、-V : 列印版本號和配置項
[root@web01 ~]# nginx -V
nginx version: nginx/1.20.2
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)
built with OpenSSL 1.0.2k-fips 26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/etc/nginx
3、-t : 檢查配置檔案
[root@web01 ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
4、-T : 測試配置檔案並啟動後退出
5、-q :列印錯誤日誌
6、-s : 操作程序
stop :停止
quit :退出
reopen :重啟
reload :過載
7、-p : 指定nginx的工作目錄
8、-e : 指定錯誤日誌路徑
9、-c : 指定配置檔案的路徑
10、-g : 設定一個全域性的Nginx配置項
[root@web01 ~]# nginx -g 'daemon off;'
9、Nginx配置檔案
全域性配置和模組配置
1、全域性配置
1、user : 指定Nginx的啟動使用者
2、worker_processes : 定義Nginx的worker程序數
auto === CPU數量
3、error_log : 錯誤日誌路徑
4、pid : pid的存放檔案路徑
5、events : 模組配置
5.1、worker_connections :每一個worker程序最多同時接入多少個請求
5.2、use : 指定Nginx的網路模型
6、http : web服務的模組
6.1、include : 載入外部的配置項
6.2、default_type : 如果找不到檔案的型別,則按照指定預設型別處理
6.3、log_format : 定義日誌格式
log_format json '{"@timestamp":"$time_iso8601",'
'"host":"$server_addr",'
'"service":"nginxTest",'
'"trace":"$upstream_http_ctx_transaction_id",'
'"log":"log",'
'"clientip":"$remote_addr",'
'"remote_user":"$remote_user",'
'"request":"$request",'
'"http_user_agent":"$http_user_agent",'
'"size":$body_bytes_sent,'
'"responsetime":$request_time,'
'"upstreamtime":"$upstream_response_time",'
'"upstreamhost":"$upstream_addr",'
'"http_host":"$host",'
'"url":"$uri",'
'"domain":"$host",'
'"xff":"$http_x_forwarded_for",'
'"referer":"$http_referer",'
'"status":"$status"}';
access_log /var/log/nginx/access.log json ;
6.4、sendfile : 高效讀取檔案
6.5、keepalive_timeout : 長連線保持連線的
HTTP 1.0 短連結
HTTP 1.1 長連線
6.6、server : 網址模組
6.6.1、listen : 監聽的埠
6.6.2、server_name : 定義域名
6.6.3、location : 訪問路徑
6.6.3.1、root : 指定網址路徑
6.6.3.2、index : 指定網址的索引檔案
10、超級瑪麗和象棋
1、上傳程式碼
2、編輯配置檔案
[root@web01 conf.d]# vim /etc/nginx/conf.d/game.conf
server {
listen 80;
server_name game.test.com;
location / {
root /opt/Super_Marie;
index index.html;
}
}
3、測試配置檔案是否正常
[root@web01 conf.d]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
4、重啟Nginx
[root@web01 conf.d]# systemctl restart nginx
5、域名解析
C:\Windows\System32\drivers\etc\hosts
172.16.1.7 game.test.com