Ubuntu下搭建与配置Nginx服务

下面是Ubuntu下搭建与配置Nginx服务的完整攻略,包含两条示例说明:

确定Ubuntu版本并安装Nginx

首先,要确定已经安装了Ubuntu,可以通过命令lsb_release -a查看版本。然后,使用以下命令安装Nginx:

  1. 更新Ubuntu软件包列表:sudo apt-get update
  2. 安装Nginx:sudo apt-get install nginx

安装完成后,就可以通过以下命令启动Nginx服务:sudo systemctl start nginx。如果需要开机自启动,则可以使用以下命令:sudo systemctl enable nginx

配置Nginx服务器块

Nginx服务器块可以帮助区分不同域名下的不同网站,可以根据实际需要进行配置。

  1. /etc/nginx/sites-available/目录下创建一个新的配置文件,命名为域名的名称,例如example.com
  2. 打开该文件并进行编辑。将以下配置内容粘贴进去:
server {
    listen 80;
    listen [::]:80;

    root /var/www/example.com/html;
    index index.html;

    server_name example.com www.example.com;

    location / {
        try_files $uri $uri/ =404;
    }
}

在上述配置文件中,server_name指定域名,root指定该域名对应网站的路径,location指定请求的处理方式。

  1. 创建一个符号链接到/etc/nginx/sites-enabled/目录,如下所示:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
  1. 检查Nginx配置是否正确,使用以下命令进行检查:sudo nginx -t。如果没有问题则显示nginx: configuration file /etc/nginx/nginx.conf test is successful
  2. 重启Nginx服务,使用以下命令:sudo systemctl restart nginx

示例一:使用Nginx搭建静态网站

假设有一个名为example.com的域名,该域名需要提供一个简单的静态网站。那么,可以按照以下步骤进行配置:

  1. /var/www/目录下创建一个名为example.com的目录,然后在该目录下创建一个名为html的子目录。
  2. 将静态网站的内容放置在/var/www/example.com/html/目录下。
  3. 根据上述“配置Nginx服务器块”的步骤,在/etc/nginx/sites-available/目录下创建一个名为example.com的配置文件,并在其中指定该网站的路径,例如:
server {
    listen 80;
    listen [::]:80;

    root /var/www/example.com/html;
    index index.html;

    server_name example.com www.example.com;

    location / {
        try_files $uri $uri/ =404;
    }
}

最后,重启Nginx服务即可通过example.com访问静态网站。

示例二:使用Nginx搭建动态网站

如果需要提供一个动态的网站,Nginx可以与后端Web应用程序进行集成,以使其能够动态生成内容。以下示例演示如何使用Nginx与Python应用程序一起工作。

  1. 搭建Python虚拟环境,安装Flask框架:
python3 -m venv myprojectenv
source myprojectenv/bin/activate
pip install flask
  1. 创建一个Python应用程序,在/var/www/example.com/目录下创建一个名为myapp的目录,并在该目录下创建一个名为__init__.py的文本文件,内容如下:
from flask import Flask

app = Flask(__name__)

@app.route('/')
def index():
    return 'Hello World!'

if __name__ == '__main__':
    app.run()
  1. /etc/nginx/sites-available/目录下创建一个名为example.com的配置文件,内容如下:
server {
    listen 80;
    listen [::]:80;

    server_name example.com;

    location / {
        proxy_pass http://127.0.0.1:5000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

在该配置文件中,proxy_pass指定将请求转发到本地服务器的5000端口(这是Flask应用程序运行的端口),proxy_set_header指定NGINX将请求的Host和X-Real-IP头传递给Python应用程序。

  1. 创建一个符号链接到/etc/nginx/sites-enabled/目录:sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
  2. 重启Nginx服务:sudo systemctl restart nginx
  3. 运行Python应用程序:python /var/www/example.com/myapp/__init__.py

现在,Flask应用程序已经在本地127.0.0.1的5000端口上运行。使用Web浏览器访问example.com,就可以看到“Hello World!”的响应。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Ubuntu下搭建与配置Nginx服务 - Python技术站

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

相关文章

  • nginx启动报错:nginx: [error] open() “/var/run/nginx/nginx.pid” failed (2: No such file or directory) 的解决办法

    问题:   重启虚拟机后,nginx:[error] open{}”/var/run/nginx/nginx.pid” failed (2: No such file or directory)  问题原因:   提示信息说明在/var/run/nginx/ 目录找不到nginx.pid文件,解决方式有两种:   1:创建默认目录 /var/run/ngin…

    Nginx 2023年4月13日
    00
  • 深入Nginx + PHP 缓存详解

    深入Nginx + PHP 缓存详解 什么是缓存 缓存是一种为了提高计算机数据访问性能的方法。缓存将计算过的结果存储起来,下一次再需要同样的数据时,直接从缓存中取出,从而节省了计算资源和时间。 Nginx缓存机制 Nginx有两种缓存机制:proxy_cache和fastcgi_cache proxy_cache proxy_cache是Nginx代理缓存,…

    Nginx 2023年5月16日
    00
  • 如何查看Nginx的访问日志?

    要查看Nginx的访问日志,可按以下步骤进行: 1. 打开Nginx配置文件 首先打开Nginx的配置文件,以Ubuntu系统为例,Nginx的配置文件路径为/etc/nginx/nginx.conf,可通过以下命令打开该文件: sudo nano /etc/nginx/nginx.conf 2. 查找访问日志配置项 在http块中查找访问日志相关的配置项,…

    Nginx 2023年4月19日
    00
  • Nginx map模块

    L77       Syntax: map string $variable { … } Default: — Context: http       map 指令  curl -H ‘aaaa:4444444’ -H ‘Host:map.taohui.org.cn’ http://192.168.0.51:10001   map $http_host …

    Nginx 2023年4月13日
    00
  • windows nginx安装与开机启动

    打开nginx官网 http://nginx.org/en/download.html 选择一个稳定版本Stable version 下载到自己硬盘,文件夹命名为英文,比如 nginx-1.14.0 下载好后解压到文件夹里面,里面有个nginx.exe 在系统环境变量里添加上path路径   打开https://github.com/kohsuke/wins…

    Nginx 2023年4月11日
    00
  • nginx 状态码整理

    状态代码    状态信息     含义 100 Continue 初始的请求已经接受,客户应当继续发送请求的其余部分。(HTTP 1.1新)101 Switching Protocols 服务器将遵从客户的请求转换到另外一种协议(HTTP 1.1新)200 OK 一切正常,对GET和POST请求的应答文档跟在后面。201 Created 服务器已经创建了文档…

    Nginx 2023年4月12日
    00
  • Nginx URL后面不加斜杠301重定向

    今天开发碰到一个问题,其实之前就有这个问题,但是一直都没去关注,今天测试碰到了就解决一下。 问题情况: 当我请求 http://admindev.jingruiauto.com/store/views/basedata 的时候,浏览器自动跳转到了 http://admindev.jingruiauto.com:8100/store/views/basedat…

    Nginx 2023年4月12日
    00
  • 【原】Nginx添加Content-MD5头部压测分析

    如需转载,必须注明原文地址,请尊重作者劳动成果。 http://www.cnblogs.com/lyongerr/p/5048464.html  本文介绍了webbenck安装,但是最后使用的是ab工具进行压测,安装apache以后,就自带了ab工具。 1 webbench工具安装 1.1 简介 Webbench是知名的网站压力测试工具,它是由Lionbri…

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