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系统无法上网的解决方法

    下面我将详细讲解一下“虚拟机安装linux系统无法上网的解决方法”的完整攻略。 背景 在虚拟机软件中安装 Linux 系统时,常常会遇到无法上网的情况。这是由于虚拟机默认无法正常获取网络连接导致的,需要我们手动配置才能上网。 解决方法 1. 修改虚拟机网络设置 进入虚拟机软件的虚拟网络编辑器,选择对应的虚拟机网络接口,启用 DHCP 服务器,并勾选 NAT …

    Linux 2023年5月24日
    00
  • centos安装php5、卸载php、安装php7的教程

    下面是详细的攻略,分3个步骤进行讲解。 步骤一:安装和卸载php 安装php CentOS系统默认使用的是PHP 5.x版本,可以通过以下命令安装: sudo yum install php 执行完毕后,可以通过以下命令确认是否安装成功: php -v 如果显示了PHP版本信息,则安装成功。 卸载php 如果需要卸载已安装的PHP,可以通过以下命令进行卸载:…

    Linux 2023年5月14日
    00
  • Linux自动化工具之crontab (windows需要手动配置相关服务,具体百度)

    //有的shell解释器是/bin/tcsh而不是传统的/bin/bash.而且两者语法有些差异,注意避免.比如设置变量tcsh是set 变量 =`****`   1.crontab是什么,是linux里面自带的一个定时任务,可以让我们在某个时间段进行一些操作,无需人工干预。例如:定时发送邮件、自动采集、队列处理、数据备份、定时开灯等等,这只是一部分的举例,…

    Linux 2023年4月11日
    00
  • nginx从安装到配置详细说明(安装,安全配置,防盗链,动静分离,配置 HTTPS,性能优化)

    nginx从安装到配置详细说明 安装 在 Ubuntu/Debian 上通过以下命令安装 nginx: sudo apt-get update sudo apt-get install nginx 在 CentOS/Fedora 上通过以下命令安装 nginx: sudo yum install nginx 安全配置 当我们在互联网上使用 nginx 的时候…

    Linux 2023年5月14日
    00
  • 如何将CentOS7升级至CentOS8(详细步骤)

    如何将CentOS7升级至CentOS8(详细步骤) 本文将带你详细了解如何将已安装CentOS7的系统升级至CentOS8版本。 1. 备份 在升级之前,强烈建议你对数据进行备份,以防数据丢失。 2. 安装epel-release包 在终端中执行下面的命令,安装epel-release包。 sudo yum install epel-release 3. …

    Linux 2023年5月14日
    00
  • Linux ssh-keygen命令

    Linux ssh-keygen 命令的作用与使用方法 Linux ssh-keygen 命令用于生成、管理和转换认证密钥,是 SSH(Secure Shell)协议中的一部分。使用 ssh-keygen 命令可以生成公钥和私钥,用于 SSH 连接的身份验证和加密通信。 命令语法 ssh-keygen 命令的基本语法如下: ssh-keygen [选项] […

    Linux 2023年5月10日
    00
  • linux Apache服务器系统安全设置与优化第3/3页

    以下是“Linux Apache服务器系统安全设置与优化第3/3页”的完整使用攻略,包含两个示例说明。 步骤 禁用不必要的服务。在终端中输入以下命令: bash sudo systemctl disable <service_name> 其中,<service_name>是要禁用的服务的名称。 安装防火墙。在终端中输入以下命令: ba…

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

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

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