如何在Debian 10安装Nginx
Nginx是一个开源的高性能HTTP和反向代理服务器,为Internet上一些最大的站点提供支持。与 Apache 相比
Nginx发音为engine x,是开源的高性能HTTP和反向代理服务器,负责处理Internet上一些最大站点的负载。
它可用作HTTP和非HTTP服务器的独立Web服务器,负载均衡器,内容缓存和反向代理。与Apache相比,Nginx可以处理大量并发连接,并且每个连接的内存占用量更小。
在继续之前,请确保您以具有sudo权限的用户登录,并且端口80或443上没有运行Apache或其它监听80或者443端口的进程。
Nginx在默认的Debian存储库中可用。要安装它,请使用apt命令运行以下命令,这将会更新软件包索引并且安装Nginx。
安装完成后,Nginx服务将自动启动。您可以通过运行systemctl命令查看服务的状态,从而确定Nginx服务是否正常启动。
sudo apt update
sudo apt install nginx
sudo systemctl status nginx
● 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 Sat 2020-05-02 20:25:43 UTC; 13s ago
...
至此,Nginx已安装在您的Debian计算机上。您可以使用systemd unit的方式管理Nginx服务。
现在您已经在服务器上安装并运行了Nginx,您可能需要配置防火墙。打开HTTP协议的80
端口和HTTPS协议443
端口,允许来自这两个端口的连接。
如果您使用的是UFW
防火墙管理工具,则可以通过启用Nginx Full
配置文件来实现此目的,Nginx Full
配置文件包含了80
和443
两个端口的规则。
如你需要确定80
和443
两个端口是否已打开,运行命令sudo ufw status
查看结果。
sudo ufw allow 'Nginx Full'
sudo ufw status
Status: active
To Action From
-- ------ ----
22/tcp ALLOW Anywhere
Nginx Full ALLOW Anywhere
22/tcp (v6) ALLOW Anywhere (v6)
Nginx Full (v6) ALLOW Anywhere (v6)
要测试已安装的Nginx,请在您的浏览器中打开http://YOUR_IP
,您应该会看到默认的Nginx页面。
Nginx配置文件的结构和最佳做法
Nginx配置文件存储在/etc/nginx
目录中。主要的Nginx配置文件为/etc/nginx/nginx.conf
。
虚拟主机配置文件存储在/etc/nginx/sites-available
目录。仅当链接到/etc/nginx/sites-enabled
目录时,Nginx才会使用此目录中的配置文件。
要激活虚拟主机,请从以下目录中的配置文件创建软链接:将sites-available
目录中文件软移到sites-enabled
目录。
要编写更具可维护性的代码,遵循标准命名约定是个好主意。例如,如果您的域名是mydomain.com
,则配置文件应命为/etc/nginx/sitesavailable/mydomain.com.conf
。
/etc/nginx/snippets
目录包含server上文的配置片段的文件。如果使用可重复的配置片段,则可以将这些指令重构为片段,并将片段文件include到server上下文中。
Nginx日志文件access.log
和error.log
位于/var/log/nginx/
目录中。建议每个虚拟主机使用不同的access
和error
日志文件。
您可以将域文档根目录设置为所需的任何位置。 Webroot的最常见位置包括:/home/<user_name>/<site_name>
/var/www/<site_name>
/var/www/html/<site_name>
/opt/<site_name>
。
配置虚拟主机
配置Let's Encrypt SSL证书
mkcert创建本地SSL证书
结论
我们已向您展示了如何在Debian 10安装Nginx。现在,您可以开始部署应用程序,并将Nginx用作Web或代理服务器。如果您有任何问题或反馈,请随时发表评论。