帮酷LOGO
0 0 评论

正文
文章标签:Ubuntu  Nginx  

介绍

Nginx是世界上最流行的网络服务器之一,它托管了互联网上最大和最高的流量站点,在大多数情况下,它比Apache更友好,可以作为web服务器或反向代理使用。

在本指南中,我们介绍如何在Ubuntu 18.04服务器上安装Nginx ,有关本教程的更详细版本,请参阅如何在Ubuntu 18 04上安装Nginx

前提条件

在开始本指南之前,你应该有以下条件:

Ubuntu 18.04服务器和具有sudo特权的常规非root用户。此外,你还需要启用基本防火墙来阻止非必需端口,你可以了解如何配置常规用户帐户,并按照以下方法设置防火墙>> Ubuntu 18.04的初始服务器设置指南

步骤1 -安装Nginx

由于Nginx在Ubuntu存储库中可用,所以你可以使用apt打包系统来安装它。

更新本地软件包索引:


sudo apt update

安装Nginx:


sudo apt install nginx

步骤2 -调整防火墙

如果你遵循了前提条件服务器设置教程,那么你将启用UFW防火墙,使用以下命令检查可用的ufw应用程序配置文件:


sudo ufw app list


OutputAvailable applications:
 Nginx Full
 Nginx HTTP
 Nginx HTTPS
 OpenSSH

启用最限制的配置文件,这些配置文件仍允许你配置的流量,允许端口80上的流量:


sudo ufw allow 'Nginx HTTP'

验证更改:


sudo ufw status


OutputStatus: active

To Action From
-- ------ ----
OpenSSH ALLOW Anywhere 
Nginx HTTP ALLOW Anywhere 
OpenSSH (v6) ALLOW Anywhere (v6) 
Nginx HTTP (v6) ALLOW Anywhere (v6)

步骤3 -检查你的网络服务器

请使用systemd init系统检查该服务是否通过键入以下内容来运行:


systemctl status nginx


Output● nginx.service - A high performance web server and a reverse proxy server
 Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
 Active: active (running) since Fri 2018-04-20 16:08:19 UTC; 3 days ago
 Docs: man:nginx(8)
 Main PID: 2369 (nginx)
 Tasks: 2 (limit: 1153)
 CGroup: /system.slice/nginx.service
 ├─2369 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
 └─2380 nginx: worker process

通过你的IP地址访问缺省Nginx登录页面以确认软件是否正常运行:


http://your_server_ip

你应该会看到默认的Nginx登陆页面。

步骤4 -设置服务器块(推荐)

使用Nginx web服务器时,可以使用服务器块(类似于Apache中的虚拟主机)来封装配置细节,并从单个服务器托管多个域,我们建立一个名为example.com的域名,但是你应该用你自己的域名替换这个域名。

创建目录为 example.com 使用-p标志创建必需的父目录:


sudo mkdir -p /var/www/example.com/html

分配目录的所有权:


sudo chown -R $USER:$USER /var/www/example.com/html

如果你没有修改umask值,你的网站根目录的权限应该是正确的,但是通过键入以下内容确定:


sudo chmod -R 755 /var/www/example.com

使用nano或你喜爱的编辑器创建一个例子index.html页面:


nano /var/www/example.com/html/index.html

在内部,添加以下例子HTML :

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

<html>
 <head>
 <title>Welcome to Example.com!</title>
 </head>
 <body>
 <h1>Success! The example.com server block is working!</h1>
 </body>
</html>

完成后保存并关闭文件。

在以下位置创建新服务器块 /etc/nginx/sites-available/example.com


sudo nano /etc/nginx/sites-available/example.com

粘贴以下配置块,更新为新目录和域名:

/etc/nginx/sites-available/example.com

server {
 listen 80;
 listen [::]:80;

 root /var/www/example.com/html;
 index index.html index.htm index.nginx-debian.html;

 server_name example.com www.example.com;

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

完成后保存并关闭文件。

通过创建一个链接到sites-enabled目录来启用该文件:


sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

现在启用和配置两个服务器块,以根据它listenserver_name指令响应请求:

example.com :将响应对example.comwww.example.com的请求,default :将响应与其他两个块不匹配的端口80上的请求,

为了避免在添加额外的服务器名称时可能出现的哈希桶内存问题,需要调整/etc/nginx/nginx.conf文件中的单个值,打开该文件:


sudo nano /etc/nginx/nginx.conf

查找server_names_hash_bucket_size指令并删除#符号以取消注释该行:

/etc/nginx/nginx.conf

...
http {
 ...
 server_names_hash_bucket_size 64;
 ...
}
...

测试语法错误:


sudo nginx -t

重新启动Nginx以启用你的更改:


sudo systemctl restart nginx

Nginx现在应该为你的域名服务,你可以通过导航到 http://example.com

结束语

现在已经安装了web服务器,为服务器类型和需要使用的技术提供了许多选项。

如果你想构建一个更完整的应用程序栈,请查看本文如何在Ubuntu 18.04上配置LEMP堆栈



文章标签:Ubuntu  Nginx  

正文

Copyright © 2011 HelpLib All rights reserved.    知识分享协议 京ICP备05059198号-3  |  如果智培  |  酷兔英语