保证以 sudo 用户身份登录,并且你不能运行 Apache 或者 其他处理进程在80端口和443端口。
安装 Nginx
Nginx 在默认的 Ubuntu 源仓库中可用。想要安装它,运行下面的命令:
sudo apt update
sudo apt install nginx
一旦安装完成,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
...
配置防火墙
防火墙配置好,允许流量通过 HTTP(80
)和 HTTPS(443
)端口。假设你正在使用UFW
,你可以做的是启用 ‘Nginx Full’ profile,它包含了这两个端口:
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
。 - 为每个域名创建一个独立的配置文件,便于维护服务器。你可以按照需要定义任意多的 block 文件。
- Nginx 服务器配置文件被储存在
/etc/nginx/sites-available
目录下。在/etc/nginx/sites-enabled
目录下的配置文件都将被 Nginx 使用。 - 最佳推荐是使用标准的命名方式。例如,如果你的域名是
mydomain.com
,那么配置文件应该被命名为/etc/nginx/sites-available/mydomain.com.conf
- 如果你在域名服务器配置块中有可重用的配置段,把这些配置段摘出来,做成一小段可重用的配置。
- Nginx 日志文件(access.log 和 error.log)定位在
/var/log/nginx/
目录下。推荐为每个服务器配置块,配置一个不同的access
和error
。 -
你可以将你的网站根目录设置在任何你想要的地方。最常用的网站根目录位置包括:
/home/<user_name>/<site_name>
/var/www/<site_name>
/var/www/html/<site_name>
/opt/<site_name>
-
代理如何配置
1、反向代理实例一
实现效果:使用 Nginx 反向代理,访问 http://www.123.com 直接跳转到 127.0.0.1:8080。
注意:此处如果要想从 http://www.123.com跳转到本机指定的ip,需要修改本机的hosts文件。此处略过
配置代码
server { listen 80; server_name 192.168.17.129; location / { root html; index index.html index.htm; proxy_pass http://127.0.0.1:8080 } }
如上配置,我们监听 80 端口,访问域名为 http://www.123.com(不加端口号时默认为 80 端口),故访问该域名时会跳转到 127.0.0.1:8080 路径上。