Linux环境下安装nginx教程

下面是Linux环境下安装nginx的完整攻略:

1. 准备工作

在安装nginx之前,需要进行以下准备工作:
- 确保系统中安装了gcc、make等工具
- 确保系统中安装了pcre、openssl、zlib等库文件

可以使用以下命令进行安装:

sudo apt-get update
sudo apt-get install gcc g++ make
sudo apt-get install libpcre3 libpcre3-dev
sudo apt-get install zlib1g-dev
sudo apt-get install openssl libssl-dev

2. 下载nginx

可以从nginx的官方网站上下载最新版的源码包。下载完成后,将源码包解压到指定目录:

tar -xzvf nginx-1.18.0.tar.gz -C ~/nginx

3. 配置并编译nginx

进入nginx源码目录,使用以下命令进行默认配置:

cd ~/nginx/nginx-1.18.0
./configure

如果需要对nginx进行自定义配置,可以使用以下命令进行配置:

./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-pcre=../pcre-8.44 --with-zlib=../zlib-1.2.11 --with-openssl=../openssl-1.1.1h

配置完成后,使用以下命令进行编译和安装:

make
sudo make install

4. 验证nginx是否成功安装

启动nginx:

sudo /usr/local/nginx/sbin/nginx

访问http://localhost,如果能看到"Welcome to nginx!"的页面,说明nginx安装成功。

为了方便管理nginx,可以创建nginx的系统服务:
1. 创建 /lib/systemd/system/nginx.service 文件;
2. 在文件中添加以下内容:

[Unit]
Description=The NGINX HTTP and reverse proxy server
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=nginx
User=nginx
Group=nginx
[Install]
WantedBy=multi-user.target

其中, User=nginxGroup=nginx 两行表示指定 nginx 服务的运行用户和用户组为 nginx。如果此用户和用户组不存在,需要自行使用 useradd 命令创建。

重启服务并开机自启:

sudo systemctl daemon-reload
sudo systemctl enable nginx.service
sudo systemctl restart nginx.service

至此,nginx的安装与配置完成。

示例一:使用nginx代理转发请求

假设有以下需求:将所有请求转发至后端服务器 http://192.168.0.1:8080。

在nginx配置文件 /usr/local/nginx/conf/nginx.conf 中添加以下配置:

http {
    server {
        listen       80;
        server_name  example.com;

        location / {
            proxy_pass  http://192.168.0.1:8080;
        }
    }
}

重启 nginx:

sudo systemctl restart nginx.service

访问 http://example.com,此时请求将被nginx转发至 http://192.168.0.1:8080。

示例二:使用NGINX进行负载均衡

假设有以下需求:有3台后端服务器 http://192.168.0.1:8080、http://192.168.0.2:8080、http://192.168.0.3:8080,需要对请求进行负载均衡。

在nginx配置文件 /usr/local/nginx/conf/nginx.conf 中添加以下配置:

http {
    upstream backend{
        server 192.168.0.1:8080;
        server 192.168.0.2:8080;
        server 192.168.0.3:8080;
    }

    server {
        listen       80;
        server_name  example.com;

        location / {
            proxy_pass  http://backend;
        }
    }
}

重启 nginx:

sudo systemctl restart nginx.service

访问 http://example.com,此时请求将被nginx进行负载均衡处理,并转发至后端服务器。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Linux环境下安装nginx教程 - Python技术站

(0)
上一篇 2023年5月14日
下一篇 2023年5月14日

相关文章

  • linux输入yum后提示: -bash: /usr/bin/yum: No such file or directory的解决方法

    当你在 Linux 系统中输入 yum 命令时,如果出现 “-bash:/usr/bin/yum:Nosuchfileordirectory” 错误提示,说明可能是 yum 命令所在的路径未被正确添加到 PATH 环境变量中。 下面是解决该问题的完整攻略: 1. 检查 yum 是否已安装 在终端中输入以下命令,检查 yum 是否存在: rpm -qa |gr…

    Linux 2023年5月14日
    00
  • Linux获取10个你最常用的终端命令列表

    下面是Linux获取10个你最常用的终端命令列表的完整攻略: 1. 确定自己的使用习惯 在获取最常用的终端命令前,需要先确定自己的使用习惯。在使用终端时,你经常执行哪些命令?哪些命令用得比较频繁?这些都应该在确定最常用的终端命令时加以考虑。 2. 使用history命令获取历史命令记录 在终端中输入history命令,即可获取之前执行过的所有命令记录。默认最…

    Linux 2023年5月24日
    00
  • linux下配置yum源方法详解

    Linux下配置yum源详解 在Linux系统中,软件的安装离不开包管理器及其相关源的配置。而yum是使用最广泛的包管理器之一,本文就来详细讲解一下如何在Linux系统中配置yum源。 什么是yum? yum是一种软件包管理器,它可以自动化地处理软件安装、更新以及依赖分析等任务。此外,它还能方便地处理软件包的依赖问题,帮助我们轻松地管理Linux系统下的软件…

    Linux 2023年5月14日
    00
  • 快速上手Linux核心命令(五):文本处理三剑客

    目录 前言 正则表达式 第一剑客 grep 第二剑客 sed 第三 剑客 awk 小结 前言 上一篇中已经预告,我们这篇主要说Linux文本处理三剑客。他们分别是grep、sed、awk 。既然能被业界称为三剑客,可见其在Linux命令中占有举足轻重得地位。所以呢,这里也专门写一篇文章说一说其用法。 正则表达式 三剑客一般会配合着正则表达式一起使用,为了更好…

    Linux 2023年4月27日
    00
  • 在docker 环境中 websocket 通过nginx代理 不通 怎么解决

    如果你在 Docker 环境中使用 WebSocket 并通过 Nginx 进行代理,可能需要进行一些额外的配置才能使 WebSocket 正常工作。 下面是一些可能会导致 WebSocket 代理失败的问题以及相应的解决方法: 检查 Nginx 配置    在 Nginx 配置中,确保已经正确地设置了 proxy_pass 和 proxy_http_ver…

    Linux 2023年5月8日
    00
  • linux zip/unzip

    文章转自:http://www.jb51.net/LINUXjishu/105916.html 1、把/home目录下面的mydata目录压缩为mydata.zipzip -r mydata.zip mydata #压缩mydata目录2、把/home目录下面的mydata.zip解压到mydatabak目录里面unzip mydata.zip -d myd…

    Linux 2023年4月12日
    00
  • Linux操作系统原理笔记

        在Linux操作系统内核内部,进程是通过一个链表,而且是一个双向链表来管理的。 进程描述符:每一个进程都有其描述符,每一个描述符彼此之间都有关联性的。   双向链表:   一个进程内部可能包含多个线程。     上下文切换(Context swtch)     假如说进程A从当前CPU上被拿走,切换成进程B,进程A有自己的描述符(task_struc…

    Linux 2023年4月11日
    00
  • linux下c语言的crypt函数怎么用?

    linux的crypt 最近学校布置了一个网安的小作业,要用到linux里面的这个crypt函数,写一篇总结一下。首先我们要了解这个函数是用来做什么的。 密码影子文件中存储了每一个用户的用户明文和其单向哈希过的秘文 cipher = “$1$C68vnJ27$1ttFZ1/Rylq/xi350A0NI0”; 密码字段用\(id\)salt$hashed的格式…

    Linux 2023年4月17日
    00
合作推广
合作推广
分享本页
返回顶部