06 Nginx

1.檢查linux上是否通過yum安裝了nginx

  1. rpm -qi nginx

2.解決安裝nginx所依賴包

  1. 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 -y

3.源代碼編譯安裝Nginx(在/opt目錄下)

  1. 1.下載淘寶Nginx源碼包
  2. wget http://tengine.taobao.org/download/tengine-2.3.0.tar.gz
  3. 2.解壓縮源代碼
  4. tar -zxvf tengine-2.3.0.tar.gz
  5. 3.進入到tengine-2.3.0目錄,進行編譯安裝
  6. cd tengine-2.3.0
  7. 4.釋放編譯文件,指定安裝路徑
  8. .configure --prefix=/opt/tengine
  9. 5.開始編譯且安裝
  10. make&&make install
  11. 6.卸載之前通過yum安裝的Nginx
  12. yum remove nginx -y
  13. 7.查看nginx的安裝目錄
  14. ls /opt/tengine
  15. conf:存放nginx所有的配置文件的目錄
  16. html:存放前端靜態頁面
  17. logs:存放nginx的日志目錄
  18. sbin:存放nginx的可執行的命令
  19. 8.配置nginx的環境變量,支持快速啟動(命令行直接nginx)
  20. 1.cd /opt/tengine/sbin
  21. 2.pwd
  22. 3.vim /etc/profile
  23. PATH中加入pwd的結果
  24. 9.啟動nginx
  25. nginx
  26. 10.修改nginx的首頁靜態模板文件
  27. vim /opt/tengine/html/index.html
  28. 輸入你想要顯示的內容

4.修改nginx的配置文件的

1.vim /opt/tengine/conf/nginx.conf

  1. #查看nginx.conf的內容,過濾掉注釋內容,和空白行
  2. [root@wangdachui conf]# grep -v "^#" nginx.conf|grep -v "^$"
  3. #全局變量,工作進程數
  4. worker_processes 1;
  5. events {
  6. epoll;#提高大并發下小活動量的CPU利用率
  7. worker_connections 65536; #根據linux的文件描述符來修改
  8. }
  9. #http代表nginx核心功能塊
  10. http {
  11. include mime.types;
  12. default_type application/octet-stream;
  13. gzip on; #開啟壓縮圖片功能
  14. #代表nginx的虛擬主機功能
  15. #當我們訪問192.168.226.128:80/就進入這個虛擬主機的配置
  16. #第一個虛擬主機dnf網址
  17. server {
  18. #nginx監聽的端口
  19. listen 80;
  20. #填寫服務器的域名,沒有域名就寫ip地址即可
  21. server_name 192.168.226.128;
  22. #路徑資源匹配 ,匹配 / 目錄
  23. #192.168.226.128:80/
  24. #這是最低級匹配,所有的請求,都會進入這個location
  25. location / {
  26. #root參數指的是定義一個虛擬主機根目錄
  27. root html; #填寫靜態模板文件的絕對路徑
  28. #index參數指定首頁文件的名字
  29. index index.html;
  30. }
  31. #第二個虛擬主機 韓劇網址
  32. server {
  33. listen 80;#監聽80端口
  34. server_name 192.168.226.128;服務器的ip
  35. location / {
  36. root /opt/s18hanju/;
  37. index index.html;
  38. }
  39. }
  40. }

2.nginx功能學習

  1. 1.修改windows下的host文件,頂一個假域名
  2. c:windows/system32/drivers/etc/hosts
  3. 如果不能編輯,右擊選擇屬性,改變它的權限信息.
  4. 2.在最下面寫入
  5. linuxIP 域名
  6. 192.168.119.147 www.hahahn.com
  7. 這樣就可以通過域名訪問了
  8. 3.配置nginx多虛擬機,其實就是在nginx.conf中寫入多個server,代表多個虛擬主機
  9. server {
  10. listen 80;
  11. server_name www.s18dnf.com;
  12. location / {
  13. root /opt/s18dnf/;
  14. index index.html index.htm;
  15. }
  16. }
  17. #第二個虛擬主機 韓劇網址
  18. server {
  19. listen 80;
  20. server_name www.s18hanju.com;
  21. location / {
  22. root /opt/s18hanju/;
  23. index index.html;
  24. }
  25. }
  26. 注意事項:1.兩個server同在http核心模塊中的同一級目錄
  27. 2.server_name如果對應的是本機的IP地址,虛擬主機是自上而下加載的,也就是說不管輸 入什么在windowshosts文件配好的假域名,都只會匹配到第一個虛擬主機
  28. 3.如果server_name對應的是域名,則nginx會根據域名找到與之匹配的域名對應的虛擬主機
  29. 4.修改完nginx.conf文件要平滑重啟
  30. nginx -s reload
  31. nginx -t 查看是否有語法錯誤
  32. 5.nginx的狀態模塊功能學習
  33. 1.修改nginx.conf的配置文件
  34. 找到一個server虛擬主機,寫入如下配置
  35. location /status {
  36. stub_status on;
  37. }
  38. 2.重啟nginx,在對應域名后加 /status 加載這個status狀態模塊功能
  39. 3.通過ab壓測命令,去給網站發起n多個請求
  40. 安裝ab壓測命令工具
  41. yum -y install httpd-tools
  42. 4.給服務器nginx,發起一萬個請求
  43. ab -kc 1000 -n 10000 http://192.168.226.128/
  44. 5.nginxaccess.log訪問日志功能
  45. 編輯nginx.conf打開如下配置參數
  46. 打開如下注釋
  47. log_format main '$remote_addr - $remote_user [$time_local] "$request"'
  48. '$status $body_bytes_sent "$http_referer" '
  49. '"$http_user_agent" "$http_x_forwarded_for"';
  50. access_log logs/access.log main;
  51. access_log "pipe:rollback logs/access_log interval=1d baknum=7 maxsize=2G" main;
  52. 重啟nginx查看logs下的日志文件,檢測用戶請求信息
  53. tail -f logs/access.log,然后用瀏覽器訪問時,就會看到日志的變化.
  54. 6.優化nginx404頁面
  55. 修改nginx.conf404錯誤頁面優化
  56. 找到如下配置
  57. #當錯誤狀態碼是 40x系列就返回,nginx目錄下的40x.html
  58. error_page 404 403 402 400 401 /40x.html;
  59. 重啟nginx 查看404頁面(輸入正確的url,后面再隨便加點東西)
  60. 7.限制IP訪問
  61. 找到nginx.conf修改如下代碼
  62. location / {
  63. #禁止192.168.226.0/24 這個地址段所有的ip訪問
  64. deny 192.168.226.1;
  65. root /opt/s18dnf;
  66. index index.html index.htm;
  67. }
  68. 8.nginx反向代理功能
  69. 準備兩臺機器,一個是真實的資源服務器,另一個是反向代理服務器,分別安裝nginx
  70. 一個能正常返回資源,另一個的nginx.conf,找到一個server虛擬主機,location /配置如下:
  71. location / {
  72. # proxy_pass http://代理的主機IP
  73. proxy_pass http://192.168.119.147
  74. }
  75. 重啟nginx,然后訪問代理服務器,就會訪問到另一臺資源服務器的資源

5.出現的問題

瀏覽器出現403(訪問權限不足)

  1. 1.將資源寫在了/root下面,普通用戶訪問不到
  2. 2.找到nginx.confdeny屏蔽掉了此IP地址,刪除禁止就好了.

轉載于:https://www.cnblogs.com/a2534786642/p/10999226.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/393327.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/393327.shtml
英文地址,請注明出處:http://en.pswp.cn/news/393327.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

java編寫安卓程序代碼,安卓:從Android的Java源代碼code創建UML

i am looking for a program that can create automatically an Uml from my Java-Android source code.I have tested ArgoUml, but it does not support Android.Have any one a suggestion?Thanks!解決方案I can second what Tom Morris wrote in the comment above. Even …

leetcode1052. 愛生氣的書店老板(滑動窗口)

今天,書店老板有一家店打算試營業 customers.length 分鐘。每分鐘都有一些顧客(customers[i])會進入書店,所有這些顧客都會在那一分鐘結束后離開。 在某些時候,書店老板會生氣。 如果書店老板在第 i 分鐘生氣&#xf…

amazon alexa_在Amazon Alexa上推出freeCodeCamp編碼瑣事測驗

amazon alexaNow you can learn coding concepts hands-free using an Amazon Echo.現在,您可以使用Amazon Echo免提學習編碼概念。 freeCodeCamp.org contributor David Jolliffe created a quiz game with questions on JavaScript, CSS, networking, and comput…

第一類第二類丟失更新

第一類丟失更新 A事務撤銷時,把已經提交的B事務的更新數據覆蓋了。這種錯誤可能造成很嚴重的問題,通過下面的賬戶取款轉賬就可以看出來: 時間 取款事務A 轉賬事務B T1 開始事務 T2 開始事務 T3 查詢賬戶余額為1000元 …

oracle數據字典表與視圖

oracle數據字典表與視圖 數據字典是數據的數據,也就是元數據。描述了數據庫的物理與邏輯存儲與相應的信息。模式中對象的定義信息,安全信息,完整性約束信息,和部分的性能監控信息等。數據字典表 與視圖存儲在system表空間中的。有…

團隊作業——項目Alpha版本發布

---恢復內容開始--- https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass1 https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass1/homework/3329 <作業要求的鏈接> Gorious Computer <寫上團隊名稱> 發布項目α版本&#xff0c;對項目…

java臟字過濾_臟字過濾

1.[文件]SensitiveWordFilter.java ~ 7KB下載(141)package com.forgov.sharpc.infrastruture.util;import static java.util.Collections.sort;import java.util.ArrayList;import java.util.Collection;import java.util.Comparator;import java.util.HashSet;import java.uti…

react中使用構建緩存_完整的React課程:如何使用React構建聊天室應用

react中使用構建緩存In this video course, youll learn React by building a chat room app.在本視頻課程中&#xff0c;您將通過構建聊天室應用程序來學習React。 By the end of the video, youll have a solid understanding of React.js and have your very own chat room…

leetcode1509. 三次操作后最大值與最小值的最小差

給你一個數組 nums &#xff0c;每次操作你可以選擇 nums 中的任意一個元素并將它改成任意值。 請你返回三次操作后&#xff0c; nums 中最大值與最小值的差的最小值。 示例 1&#xff1a; 輸入&#xff1a;nums [5,3,2,4] 輸出&#xff1a;0 解釋&#xff1a;將數組 [5,3,…

MySQL異步復制

準備&#xff1a;主備庫版本一致&#xff0c;正常安裝軟件。 1、主庫上設置一個復制使用的賬戶&#xff1a; mysql> grant replication slave on *.* to rep1192.168.100.136 identified by dbking; Query OK, 0 rows affected (0.18 sec) mysql> select user,host,passw…

開源一個爬取redmine數據的測試報告系統

背景 軟件測試的最后有一道比較繁瑣的工作&#xff0c;就是編寫測試報告。手寫測試報告在數據統計和分析上面要耗費比較大的事件和精力。之前工作室使用mantis管理bug缺陷。公司有內部有個系統&#xff0c;可以直接從mantis上面獲取數據并進行統計&#xff0c;生成一份測試報告…

java cxf 雙向通訊_CXF 在spring boot 2 發布多個服務

0. 問題來源之前配置cxf服務端都是在spring 3以下&#xff0c;后來使用spring mvc 還都是基于xml的配置文件模式&#xff0c;在springboot模式下&#xff0c;實現起來更為簡單了。此次記錄下spring boot 2下的實現方式。1. 準備工作項目中&#xff0c;直接拉入spring boot cxf相…

小程序 堅屏_如何構建堅如磐石的應用程序

小程序 堅屏不同的應用程序設計選項概述 (An overview of different app design options) When we design software, we constantly think about error cases. Errors have a huge impact on the way we design and architecture a solution. So much so, in fact, that there …

C# 分層

三層架構分為&#xff1a;表現層&#xff08;UI&#xff09;、業務邏輯層&#xff08;BLL&#xff09;、數據訪問層&#xff08;DAL&#xff09;再加上實體類庫&#xff08;Model&#xff09; 轉載請注明出自朱朱家園http://blog.csdn.net/zhgl7688 1、實體類庫&#xff08;Mod…

leetcode1177. 構建回文串檢測(前綴和)

給你一個字符串 s&#xff0c;請你對 s 的子串進行檢測。 每次檢測&#xff0c;待檢子串都可以表示為 queries[i] [left, right, k]。我們可以 重新排列 子串 s[left], …, s[right]&#xff0c;并從中選擇 最多 k 項替換成任何小寫英文字母。 如果在上述檢測過程中&#xf…

java界面化二叉排序樹_層次序創建二叉樹(圖形界面和控制臺輸入實現)

1 2018.11.72 XT34 /**5 * 功能&#xff1a;構造二叉樹6 * 說明&#xff1a;7 * 1.主函數輸入模式有兩種&#xff0c;BT參數 true 圖形界面&#xff0c;false 控制臺輸入8 * 2.構造樹是按層次遍歷結果輸入的 如&#xff1a;ABCDE*F**GH9 */1011 import javax.swing.*;12 import…

web開發環境_Web開發人員的開發環境

web開發環境With all the tools and programs available, it can be challenging to figure out the best way to set up your development environment on your computer.使用所有可用的工具和程序&#xff0c;尋找在計算機上設置開發環境的最佳方法可能是一項挑戰。 In this…

使用.net Stopwatch class 來分析你的代碼

當我們在調試&#xff0c;優化我們的代碼的時候&#xff0c;想知道某段代碼的真正的執行時間&#xff0c;或者我們懷疑某段代碼&#xff0c;或是某幾段代碼執行比較慢&#xff0c; 需要得到具體的某段代碼的具體執行時間的時候。有一個很好用的類Stopwatch。 Stopwatch 類在 Sy…

Docker 部署 postgresql 與 pgadmin4

Docker快速部署PostgreSQL服務 快速開始 請新建一個目錄postgresql&#xff0c;進入目錄postgresql&#xff0c;將以下文件保存為docker-compose.yml&#xff0c;然后執行docker-compose up version: 3 services:mydb:image: postgres:11volumes:- db-data:/var/lib/postgresql…

leetcode151. 翻轉字符串里的單詞

給定一個字符串&#xff0c;逐個翻轉字符串中的每個單詞。 示例 1&#xff1a; 輸入: “the sky is blue” 輸出: “blue is sky the” 代碼 class Solution {public String reverseWords(String s) {int ns.length(),i0;ArrayList<String> arrayListnew ArrayList<…