• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

建议chatGPT说的编译安装nginx教程

武飞扬头像
ataola
帮助1

写在前面

这个是当下最流行最时髦的AI神器chatGPT和我一起合作写的一篇通用技术文章,请读者笑纳!

chatGPT说

咚咚咚,咚咚咚,嘿嘿;咚咚咚,咚咚咚,嘿嘿;AI等一会,我来发答案,看图!!!

学新通

学新通

命令演示

首先,从nginx官方网站(https://nginx.org/en/download.html)下载最新的nginx源码包。

学新通

这里我们选择Stable version下的1.22.1版本,先下载然后解压源码包,具体步骤如下:

  1.  
    wget https://nginx.org/download/nginx-1.22.1.tar.gz
  2.  
    tar -zxvf nginx-1.22.1.tar.gz
  3.  
    cd nginx-1.22.1

下载的日志如下:

学新通

nginx的包解压后是这样子的

学新通

接着,安装一些必要的依赖库,执行命令:

sudo apt-get install build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev

再接着,配置nginx,执行命令:

./configure --prefix=/usr/local/nginx --with-http_ssl_module

这里的--prefix参数指定了nginx安装的路径,--with-http_ssl_module参数启用了SSL模块。

接下来是编译和安装,执行命令:

  1.  
    make
  2.  
    sudo make install

启动nginx, 执行如下命令:

  1.  
    cd /usr/local/nginx/sbin
  2.  
    ./nginx &

如果没有报错,说明nginx已经成功安装并启动了, 可以通过ps aux | grep nginx查看nignx相关的进程。

学新通

接下来,我们要配置nginx的站点,具体如下:

在/usr/local/nginx/conf/目录下创建一个新的配置文件,例如example.conf,并添加以下内容:

学新通

  1.  
    server {
  2.  
    listen 80;
  3.  
    server_name example.com;
  4.  
    root /var/www/example.com;
  5.  
     
  6.  
    location / {
  7.  
    index index.html index.htm;
  8.  
    }
  9.  
    }

这里的server_name指定了该站点的域名,root指定了站点的根目录,location指定了站点的首页文件。

重启nginx:

/usr/local/nginx/sbin/nginx -s reload

这样就完成了nginx的编译和安装,并成功配置了一个站点。

学新通

或者你也可以不听它的,直接拷贝一份nginx.conf然后在nginx.conf上面改或者不改也行,默认的html目录在这里

学新通

实验拓展

试图改变首页nginx的展示

不想打字,交给AI吧, 就是这么皮,23333333。

学新通

学新通

一顿复制粘贴,如下:

  1.  
    <!DOCTYPE html>
  2.  
    <html>
  3.  
    <head>
  4.  
    <title>我的页面</title>
  5.  
    <meta charset="utf-8">
  6.  
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7.  
    <link rel="stylesheet" href="style.css">
  8.  
    </head>
  9.  
    <body>
  10.  
    <header>
  11.  
    <nav>
  12.  
    <ul>
  13.  
    <li><a href="#">首页</a></li>
  14.  
    <li><a href="#">关于我们</a></li>
  15.  
    <li><a href="#">产品</a></li>
  16.  
    <li><a href="#">联系我们</a></li>
  17.  
    </ul>
  18.  
    </nav>
  19.  
    <h1>欢迎来到我的页面</h1>
  20.  
    </header>
  21.  
    <main>
  22.  
    <section>
  23.  
    <h2>关于我们</h2>
  24.  
    <p>我们是一家专注于XXX领域的公司,致力于为客户提供优质的XXX服务。</p>
  25.  
    </section>
  26.  
    <section>
  27.  
    <h2>我们的产品</h2>
  28.  
    <ul>
  29.  
    <li>
  30.  
    <h3>产品1</h3>
  31.  
    <p>产品描述</p>
  32.  
    </li>
  33.  
    <li>
  34.  
    <h3>产品2</h3>
  35.  
    <p>产品描述</p>
  36.  
    </li>
  37.  
    <li>
  38.  
    <h3>产品3</h3>
  39.  
    <p>产品描述</p>
  40.  
    </li>
  41.  
    </ul>
  42.  
    </section>
  43.  
    <section>
  44.  
    <h2>联系我们</h2>
  45.  
    <form>
  46.  
    <label for="name">姓名:</label>
  47.  
    <input type="text" id="name" name="name"><br>
  48.  
    <label for="email">邮箱:</label>
  49.  
    <input type="email" id="email" name="email"><br>
  50.  
    <label for="message">留言:</label>
  51.  
    <textarea id="message" name="message"></textarea><br>
  52.  
    <input type="submit" value="提交">
  53.  
    </form>
  54.  
    </section>
  55.  
    </main>
  56.  
    <footer>
  57.  
    <p>版权所有 &copy; 2021</p>
  58.  
    </footer>
  59.  
    </body>
  60.  
    </html>
学新通

然后执行nignx -s reload可以看到效果还是很不错的,AI真棒!!!

学新通

试图代理个网站看看

我们把问题抛给chatGPT看看答案是什么。

学新通

学新通

反向代理核心配置代码模板如下:

  1.  
    server {
  2.  
    listen 80;
  3.  
    server_name example.com;
  4.  
     
  5.  
    location / {
  6.  
    proxy_pass http://backend-server:8080;
  7.  
    proxy_set_header Host $host;
  8.  
    proxy_set_header X-Real-IP $remote_addr;
  9.  
    }
  10.  
    }

负载均衡核心配置代码模板如下:

  1.  
    upstream backend {
  2.  
    server backend-server1:8080;
  3.  
    server backend-server2:8080;
  4.  
    }
  5.  
     
  6.  
    server {
  7.  
    listen 80;
  8.  
    server_name example.com;
  9.  
     
  10.  
    location / {
  11.  
    proxy_pass http://backend;
  12.  
    proxy_set_header Host $host;
  13.  
    proxy_set_header X-Real-IP $remote_addr;
  14.  
    }
  15.  
    }
学新通

来看下代理的效果吧,原网页

学新通

学新通

代理后的,可以看到静态的页面没有问题,然后一些样式脚本可能还需要再配置下

学新通

学新通

最后,要和谐要文明,我们只支持国产,AI劝退!不过你去GitHub上搜下好像有人专门写了直接作为插件集成到nginx服务里面,可以玩玩看。

学新通

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhggafcc
系列文章
更多 icon
同类精品
更多 icon
继续加载