生活随笔
收集整理的這篇文章主要介紹了
06 Nginx
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.檢查linux上是否通過yum安裝了nginx
rpm -qi nginx2.解決安裝nginx所依賴包
yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel openssl openssl-devel -y3.源代碼編譯安裝Nginx(在/opt目錄下)
1.下載淘寶Nginx源碼包 wget http://tengine.taobao.org/download/tengine-2.3.0.tar.gz2.解壓縮源代碼 tar -zxvf tengine-2.3.0.tar.gz3.進入到tengine-2.3.0目錄,進行編譯安裝 cd tengine-2.3.04.釋放編譯文件,指定安裝路徑 .configure --prefix=/opt/tengine5.開始編譯且安裝 make&&make install6.卸載之前通過yum安裝的Nginx yum remove nginx -y7.查看nginx的安裝目錄 ls /opt/tengine conf:存放nginx所有的配置文件的目錄 html:存放前端靜態頁面 logs:存放nginx的日志目錄 sbin:存放nginx的可執行的命令8.配置nginx的環境變量,支持快速啟動(命令行直接nginx) 1.cd /opt/tengine/sbin 2.pwd 3.vim /etc/profile PATH中加入pwd的結果9.啟動nginx nginx10.修改nginx的首頁靜態模板文件 vim /opt/tengine/html/index.html 輸入你想要顯示的內容4.修改nginx的配置文件的
1.vim /opt/tengine/conf/nginx.conf
#查看nginx.conf的內容,過濾掉注釋內容,和空白行[root@wangdachui conf]# grep -v "^#" nginx.conf|grep -v "^$"#全局變量,工作進程數 worker_processes 1;events { epoll;#提高大并發下小活動量的CPU利用率 worker_connections 65536; #根據linux的文件描述符來修改 }#http代表nginx核心功能塊 http { include mime.types; default_type application/octet-stream;gzip on; #開啟壓縮圖片功能#代表nginx的虛擬主機功能 #當我們訪問192.168.226.128:80/就進入這個虛擬主機的配置 #第一個虛擬主機dnf網址server { #nginx監聽的端口 listen 80; #填寫服務器的域名,沒有域名就寫ip地址即可 server_name 192.168.226.128; #路徑資源匹配 ,匹配 / 目錄 #192.168.226.128:80/ #這是最低級匹配,所有的請求,都會進入這個location location / { #root參數指的是定義一個虛擬主機根目錄 root html; #填寫靜態模板文件的絕對路徑 #index參數指定首頁文件的名字 index index.html; } #第二個虛擬主機 韓劇網址server { listen 80;#監聽80端口 server_name 192.168.226.128;服務器的ip location / { root /opt/s18hanju/; index index.html; } }}2.nginx功能學習
1.修改windows下的host文件,頂一個假域名 c:windows/system32/drivers/etc/hosts 如果不能編輯,右擊選擇屬性,改變它的權限信息.2.在最下面寫入 linux的IP 域名 192.168.119.147 www.hahahn.com 這樣就可以通過域名訪問了3.配置nginx多虛擬機,其實就是在nginx.conf中寫入多個server,代表多個虛擬主機 server { listen 80; server_name www.s18dnf.com; location / { root /opt/s18dnf/; index index.html index.htm; } } #第二個虛擬主機 韓劇網址 server { listen 80; server_name www.s18hanju.com; location / { root /opt/s18hanju/; index index.html; } } 注意事項:1.兩個server同在http核心模塊中的同一級目錄 2.server_name如果對應的是本機的IP地址,虛擬主機是自上而下加載的,也就是說不管輸 入什么在windows的hosts文件配好的假域名,都只會匹配到第一個虛擬主機 3.如果server_name對應的是域名,則nginx會根據域名找到與之匹配的域名對應的虛擬主機4.修改完nginx.conf文件要平滑重啟 nginx -s reload nginx -t 查看是否有語法錯誤5.nginx的狀態模塊功能學習 1.修改nginx.conf的配置文件 找到一個server虛擬主機,寫入如下配置 location /status { stub_status on; } 2.重啟nginx,在對應域名后加 /status 加載這個status狀態模塊功能 3.通過ab壓測命令,去給網站發起n多個請求 安裝ab壓測命令工具 yum -y install httpd-tools 4.給服務器nginx,發起一萬個請求 ab -kc 1000 -n 10000 http://192.168.226.128/ 5.nginx的access.log訪問日志功能 編輯nginx.conf打開如下配置參數 打開如下注釋 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 logs/access.log main; access_log "pipe:rollback logs/access_log interval=1d baknum=7 maxsize=2G" main; 重啟nginx查看logs下的日志文件,檢測用戶請求信息 tail -f logs/access.log,然后用瀏覽器訪問時,就會看到日志的變化. 6.優化nginx的404頁面 修改nginx.conf的404錯誤頁面優化 找到如下配置 #當錯誤狀態碼是 40x系列就返回,nginx目錄下的40x.html error_page 404 403 402 400 401 /40x.html; 重啟nginx 查看404頁面(輸入正確的url,后面再隨便加點東西) 7.限制IP訪問 找到nginx.conf修改如下代碼 location / { #禁止192.168.226.0/24 這個地址段所有的ip訪問 deny 192.168.226.1; root /opt/s18dnf; index index.html index.htm; } 8.nginx反向代理功能 準備兩臺機器,一個是真實的資源服務器,另一個是反向代理服務器,分別安裝nginx 一個能正常返回資源,另一個的nginx.conf,找到一個server虛擬主機,location /配置如下: location / { # proxy_pass http://代理的主機IP proxy_pass http://192.168.119.147 } 重啟nginx,然后訪問代理服務器,就會訪問到另一臺資源服務器的資源5.出現的問題
瀏覽器出現403(訪問權限不足)
1.將資源寫在了/root下面,普通用戶訪問不到2.找到nginx.conf中deny屏蔽掉了此IP地址,刪除禁止就好了.
轉載于:https://www.cnblogs.com/a2534786642/p/10999226.html
總結
以上是生活随笔為你收集整理的06 Nginx的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。