最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

服務(wù)器部署之虛擬機安裝nginx并部署web網(wǎng)頁

 更新時間:2024年10月22日 08:58:52   作者:沐陽gg  
本文提供了一個關(guān)于Nginx的安裝與配置的簡單入門教程,涵蓋從安裝所需插件(如gcc、zlib、pcre、openssl等),到下載、解壓、編譯安裝Nginx的完整過程,文中通過圖文介紹的非常詳細,需要的朋友可以參考下

1、先上成品圖

2、安裝Nginx運行所需插件:

  •  gcc:gcc編譯器用于編譯編程語言。

    //通過gcc -v查看版本,如果有就不管【CentOS7是有的】
    gcc -v
    
    //如果沒有g(shù)cc就通過下面的命令安裝
    yum -y install gcc

    安裝截圖:

  • zlib解壓軟件:

    zlib庫是用于解壓和壓縮的。nginx下載下來是壓縮包,需要解壓。

    安裝命令:
    yum install -y zlib zlib-devel

    安裝截圖:

  • pcre、pcre-devel插件:

    pcre是正則表達式的庫,nginx中http模塊需要用到pcre解析正則表達式。
    安裝命令:
    yum install -y pcre pcre-devel

    安裝截圖:

  • openssl插件:

    網(wǎng)絡(luò)通信加密插件。
    安裝命令:
    yum install -y openssl openssl-devel

    安裝截圖:

3、安裝Nginx

從官網(wǎng)下載壓縮包,需要用到wget軟件,CentOS7都自帶有,如果沒有的話,通過下面命令安裝。

yum install wget
  • 下載Nginx安裝包:

    wget http://nginx.org/download/nginx-1.21.6.tar.gz 

    通過命令ll查看本地會多一個文件:

  • 解壓壓縮包:

    tar -zxvf nginx-1.21.6.tar.gz

    解壓后,通過命令ll查看,得到一個文件夾:

  • 編譯安裝:

    ??????①、先進入到解壓得到的nginx-1.21.6文件夾里面:
    cd nginx-1.21.6

    ②、執(zhí)行./configure文件,編譯nginx環(huán)境,使其之后的nginx就安裝到/usr/local/nginx目錄下:

    ③、繼續(xù)執(zhí)行命令:

    # 在當前目錄下執(zhí)行
    make & make install

    到這里,關(guān)于nginx已經(jīng)安裝好了,我們可以查看一下,多了些什么東西:

4、啟動Nginx:

  • 如果要啟動Nginx,需要找到其啟動命令,先進入到命令所在的文件夾:
    命令:
    cd /usr/local/nginx/sbin/

    nginx這個就是啟動命令。
  • 關(guān)閉防火墻,不然啟動之后訪問不了,關(guān)閉防火墻命令:

    systemctl stop firewalld.service
  • 啟動nginx(不要離開/usr/local/nginx/sbin/):

    ./nginx
  • 通過宿主機瀏覽器訪問:

5、更改主頁信息

到這里,nginx已經(jīng)安裝并且啟動好了,那么接下來我們可以將這個頁面更改一番,在這里我提供了一段html代碼。

<!DOCTYPE html>
<html lang="en">
 
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>圖片位置拖拽</title>
  <style>
    #main {
      display: flex;
      justify-content: center;
    }
 
    .img {
      width: 100px;
      user-select: none;
      height: 100px;
      background: no-repeat center center;
      background-size: cover;
    }
 
    .bg1 {
      background-image: url('https://cdn.pixabay.com/photo/2020/02/05/22/01/bush-4822500__480.jpg')
    }
 
    .bg2 {
      background-image: url('https://cdn.pixabay.com/photo/2022/01/24/13/51/temple-6963458__480.jpg')
    }
 
    .bg3 {
      background-image: url('https://cdn.pixabay.com/photo/2020/12/02/01/06/chipmunk-5795916__480.jpg')
    }
 
    .zw {
      background-color: #999;
      width: 100px;
      height: 100px;
      display: none;
    }
  </style>
</head>
 
<body>
  <div id="main">
    <span class="img bg1" data-index="0"></span>
    <span class="img bg2" data-index="1"></span>
    <span class="img bg3" data-index="2"></span>
    <span class="zw"></span>
  </div>
</body>
<script>
  const imgs = document.querySelectorAll('.img')
  const main = document.querySelector('#main')
  const zw = document.querySelector('.zw')
  const isMobile = navigator.userAgent.match(/Mobile/)
  let isDrag = false
  let index
  let py = {
    left: 0,
    top: 0
  }
  const move = (el, x, y) => {
    el.setAttribute('style', `pointer-events:none;position:absolute;left:${x}px;top:${y}px`)
  }
  document.addEventListener(isMobile ? 'touchstart' : 'mousedown', e => {
    isMobile && (e = e.touches[0])
    index = e.target.dataset.index
    if (index && !isDrag) {
      py.left = e.pageX - imgs[index].offsetLeft
      py.top = e.pageY - imgs[index].offsetTop
      zw.style.display = 'block'
      main.insertBefore(zw, imgs[index])
      move(imgs[index], e.pageX - py.left, e.pageY - py.top)
    }
    isDrag = true
  })
  document.addEventListener(isMobile ? 'touchmove' : 'mousemove', e => {
    isMobile && (e = e.touches[0])
    if (isDrag && index) {
      move(imgs[index], e.pageX - py.left, e.pageY - py.top)
    }
  })
  document.addEventListener(isMobile ? 'touchend' : 'mouseup', e => {
    isDrag = false
    zw.style.display = ''
    if (imgs[index]) {
      imgs[index].setAttribute('style', '')
      main.insertBefore(imgs[index], zw)
    }
  })
  imgs.forEach(v => {
    v.addEventListener(isMobile ? 'touchmove' : 'mouseenter', e => {
      isMobile && (e = e.touches[0])
      if (isDrag) {
        const list = [...main.children]
        const imgIndex = list.findIndex(el => v == el)
        const zwIndex = list.findIndex(el => zw == el)
        if (zwIndex < imgIndex) {
          main.insertBefore(v, zw)
        } else {
          main.insertBefore(zw, v)
        }
      }
    })
  })
</script>
 
</html>
  • 找到nginx的index.html

    頁面在:/usr/local/nginx/html/這個文件夾里面
    cd /usr/local/nginx/html/

     

  • 將我前面準備好的一段代碼,替換掉原本的代碼:

    自己操作,刪除,再粘貼
  • 再次在宿主機瀏覽器中搜索

到這里,我們自己的html頁面就放進來了。

6、目錄結(jié)構(gòu)

nginx安裝完成后,nginx里面的目錄結(jié)構(gòu)如下:

重點目錄和文件如下:

目錄/文件說明
conf配置文件存放目錄
conf/nginx.confnginx核心配置文件
html存放靜態(tài)資源(html,css,js)
logs存放nginx日志
sbin/nginx二進制文件,用于啟動/停止Nginx

nginx更多知識還需要更系統(tǒng)的學(xué)習,目前這個小demo就到這里了,bye~~~

總結(jié)

到此這篇關(guān)于服務(wù)器部署之虛擬機安裝nginx并部署web網(wǎng)頁的文章就介紹到這了,更多相關(guān)虛擬機安裝nginx部署web網(wǎng)頁內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Nginx stub_status 監(jiān)控模塊的功能實現(xiàn)

    Nginx stub_status 監(jiān)控模塊的功能實現(xiàn)

    本篇文章主要介紹了Nginx stub_status 監(jiān)控模塊的功能實現(xiàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03
  • 通過lua來配置實現(xiàn)Nginx服務(wù)器的防盜鏈功能

    通過lua來配置實現(xiàn)Nginx服務(wù)器的防盜鏈功能

    這篇文章主要介紹了通過lua來配置實現(xiàn)Nginx服務(wù)器的防盜鏈功能的方法,這里主要講解生成鏈接的Nginx配置,需要的朋友可以參考下
    2016-01-01
  • Nginx?配置?WebSocket?代理的操作過程

    Nginx?配置?WebSocket?代理的操作過程

    這篇文章主要介紹了Nginx?配置?WebSocket?代理的操作過程,本文給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧
    2024-04-04
  • nginx配置文件不使用緩存的方法

    nginx配置文件不使用緩存的方法

    使用Nginx作為Web緩存服務(wù)器,能有效減少數(shù)據(jù)傳輸、節(jié)省網(wǎng)絡(luò)流量、加快響應(yīng)速度、減輕服務(wù)器壓力、提高服務(wù)端可用性,本文就來介紹一下nginx配置文件不使用緩存的方法,感興趣的可以了解一下
    2024-11-11
  • nginx配置客戶端保存cookie的實現(xiàn)

    nginx配置客戶端保存cookie的實現(xiàn)

    本文主要介紹了nginx配置客戶端保存cookie的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧
    2023-03-03
  • Python的Bottle框架基本知識總結(jié)

    Python的Bottle框架基本知識總結(jié)

    這篇文章主要介紹了Python的Bottle框架基本知識總結(jié),本文翻譯自Bottle官方開發(fā)文檔,需要的朋友可以參考下
    2015-05-05
  • Nginx可視化管理軟件(Nginx Proxy Manager)的使用

    Nginx可視化管理軟件(Nginx Proxy Manager)的使用

    Nginx Proxy Manager是一款開源的Nginx可視化管理界面,本文就來介紹一下Nginx Proxy Manager的使用,感興趣的可以了解一下
    2024-03-03
  • Nginx配置移動端和PC端自動跳轉(zhuǎn)方式

    Nginx配置移動端和PC端自動跳轉(zhuǎn)方式

    文章介紹了如何通過Nginx配置PC端和移動端自動跳轉(zhuǎn),PC端和移動端各有獨立的域名,PC端訪問任何域名時會跳轉(zhuǎn)到www.yxf.com,移動端訪問任何域名時會跳轉(zhuǎn)到m.yxf.com,配置時需要修改Nginx的conf文件,使用302或301重定向
    2025-11-11
  • 為nginx配置好看的錯誤提示頁面

    為nginx配置好看的錯誤提示頁面

    文章介紹了如何更換nginx默認的錯誤頁面,作者首先提到了一些可借鑒的設(shè)計樣本,并給出了一些可直接使用的模板鏈接,文章詳細描述了在Windows和Linux系統(tǒng)上如何替換錯誤頁面,包括修改nginx配置文件,如果更改后沒有生效,作者也提供了解決方法
    2025-10-10
  • Nginx報Too Many Open Files總結(jié)

    Nginx報Too Many Open Files總結(jié)

    本文提供了解決Nginx服務(wù)器出現(xiàn)Too many open files錯誤的方法,包括檢查和調(diào)整文件句柄限制、修改系統(tǒng)配置文件及nginx配置等,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧
    2026-01-01

最新評論

丁青县| 梁平县| 南陵县| 抚松县| 汉沽区| 临沧市| 永嘉县| 安岳县| 辽阳县| 上思县| 民乐县| 东城区| 蕉岭县| 大竹县| 临武县| 普兰县| 淳安县| 镇平县| 民县| 泰州市| 金门县| 葫芦岛市| 西平县| 荆州市| 霍邱县| 赤峰市| 商洛市| 习水县| 西平县| 郁南县| 长治县| 龙泉市| 定西市| 唐海县| 安远县| 安庆市| 宜良县| 太仓市| 武冈市| 松桃| 泗阳县|