如何将 Nginx 配置为Web服务器的方法

请看下面的完整攻略。

如何将 Nginx 配置为Web服务器的方法

Nginx 是一款高性能的Web服务器,可以配置为静态服务器、反向代理服务器、负载均衡器等多种角色。本文将介绍如何将 Nginx 配置为Web服务器的方法。

安装 Nginx

在 Linux 系统上,可以使用包管理工具直接安装 Nginx,如下所示:

# Ubuntu/Debian
sudo apt-get update
sudo apt-get install nginx

# CentOS
sudo yum -y update
sudo yum -y install nginx

安装完成后可以使用以下命令检查是否安装成功:

nginx -v

配置 Nginx

Nginx 的配置文件位于 /etc/nginx/nginx.conf,使用编辑器打开该文件进行配置。下面是一个简单的配置示例:

http {
    server {
        listen 80;
        server_name example.com;
        root /var/www/example.com;
        index index.html;
    }
}

这个配置指定了一个监听 80 端口的服务器,当用户访问 example.com 时,会返回 /var/www/example.com 目录下的 index.html 文件。

配置 SSL

为了保证访问安全,可以配置 SSL 证书。首先需要安装 OpenSSL:

# Ubuntu/Debian
sudo apt-get install openssl

# CentOS
sudo yum -y install openssl

然后生成 SSL 证书:

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
 -keyout /etc/nginx/ssl/nginx.key \
 -out /etc/nginx/ssl/nginx.crt

生成的证书保存在 /etc/nginx/ssl 目录下。

最后修改 Nginx 配置文件,增加 SSL 配置:

http {
    server {
        listen 443 ssl;
        server_name example.com;
        ssl_certificate /etc/nginx/ssl/nginx.crt;
        ssl_certificate_key /etc/nginx/ssl/nginx.key;
        root /var/www/example.com;
        index index.html;
    }
}

示例一:静态服务器

可以将 Nginx 配置为静态文件服务器,只需要将 root 目录指定为静态文件目录即可。下面是一个简单的示例:

http {
    server {
        listen 80;
        server_name example.com;
        root /var/www/example.com;
        index index.html;

        location /static/ {
            # 静态文件访问
            expires 30d;
            add_header Cache-Control "public";
        }

        location /media/ {
            # media文件访问
            expires 30d;
            add_header Cache-Control "public";
        }
    }
}

这个配置指定了一个静态文件服务器,当用户访问 example.com/static/ 子目录或 example.com/media/ 子目录时,会返回 /var/www/example.com 目录下的对应文件。同时会加上缓存信息。

示例二:代理服务器

Nginx 还可以配置为反向代理服务器,将请求转发到其他服务器上进行处理。下面是一个简单的示例:

http {
    server {
        listen 80;
        server_name example.com;
        root /var/www/example.com;
        index index.html;

        location /apis/ {
            # 反向代理服务器
            proxy_pass http://127.0.0.1:8000;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
    }
}

这个配置指定了一个反向代理服务器,当用户访问 example.com/apis/ 子目录时,会将请求通过代理服务器发送到本地的 8000 端口。同时会携带请求的信息进行传递。

启动 Nginx

修改完成 Nginx 配置文件后,需要重启 Nginx 生效。可以使用以下命令重启 Nginx:

sudo systemctl restart nginx

也可以使用以下命令查看 Nginx 状态:

sudo systemctl status nginx

至此,你已经学会了如何将 Nginx 配置为Web服务器的方法,以及两种示例的说明。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:如何将 Nginx 配置为Web服务器的方法 - Python技术站

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

相关文章

  • Vue-cli3.0打包部署到Nginx

      Vue-cli3.0相比于Vue-cli2.0,仅从根目录来看,最大的区别就是Vue-cli3.0少了build和config文件夹,前者用于项目构建(webpack)相关代码,后者用于项目开发环境配置。取而代之的是vue.config.js这个文件,看起来目录简洁不少。      图1 vue-cli3.0根目录 打开vue.config.js文件,大…

    Nginx 2023年4月13日
    00
  • nginx安装第三方模块echo-nginx-module

    cd ~ wget -S https://github.com/agentzh/echo-nginx-module/archive/master.zip mv master echo-nginx-module-master.zip unzip echo-nginx-module-master.zip cd .. cd nginx-1.4.2 ./config…

    Nginx 2023年4月13日
    00
  • suse 安装nginx

     nginx 需要的依赖包 gcc gcc-c++ make libtool zlib zlib-devel openssl openssl-devel pcre pcre-devel 如果上述包都没有安装,需先安装。如你的服务器是阿里云服务器的话,直接执行zypper install 包名 ,挨个安装。 否则就wget 到服务器之后,自己安装。 进入正题 …

    Nginx 2023年4月13日
    00
  • [Nginx] 博客园出现了502错误该怎么追查原因

    博客园从今天上午就开始报502错误 , 他的原因还不知道 , 暂时先说下我们遇到502的排查情况 最大的可能性就是后端的服务不能支撑前端过来的tcp请求连接,包括连接数据库服务时的连接数问题   1. php-fpm的进程是否启动 ,没启动肯定报这个错误 2. tcp连接数超过了fpm的进程数 netstat -altupn|grep EST|grep ph…

    2023年4月9日
    00
  • Nginx服务部署

    处理静态资源:nginx、apache、Lighttpd处理动态资源:tomcat(java语言编写)、php(php语言编写)、python(python语言编写)nginx网站服务软件:(1)nginx服务程序能力强大:  支持更高并发访问(静态资源小文件),占用资源少(内存)  (2)nginx服务程序功能强大:  web服务器  负载均衡服务器  缓…

    Nginx 2023年4月12日
    00
  • nginx部署前端工程

    1.安装nginx后将前端工程放到niginx安装目录的 /nginx/html 文件夹下 2.进入/nginx/conf文件夹下修改nginx.conf配置文件,配置内容如下 server { listen 80; server_name www.xxx.com; error_page 500 502 503 504 /50x.html; location…

    Nginx 2023年4月10日
    00
  • nginx的基本命令

    whereis nginx查看nginx的目录    /usr/sbin/nginx          yum安装的nginx也可以使用         servic nginx start  启动nginx进程   ps -ef |grep nginx查看nginx的进程号   nginx -s reload 优雅重启nginx/重新加载配置文件   ng…

    Nginx 2023年4月11日
    00
  • 开启Nginx时端口被占用提示:Address already in use

    开启 Nginx 时,有时会出现端口被占用的提示,这是因为该端口已经被其他进程占用了,需要找出占用端口的进程并终止该进程,或是修改 Nginx 的监听端口,下面详细讲解该问题的解决方法。 示例一:找出占用端口的进程并终止 在 Linux 上使用如下命令查看占用端口的进程信息: shell sudo netstat -tlnp | grep :80 其中,80…

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