wiki:linux:ubuntu-install-nginx
差别
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录前一修订版后一修订版 | 前一修订版 | ||
wiki:linux:ubuntu-install-nginx [2019/09/29 22:22] – colin | wiki:linux:ubuntu-install-nginx [2023/01/03 15:25] (当前版本) – 外部编辑 127.0.0.1 | ||
---|---|---|---|
行 1: | 行 1: | ||
- | ====== | + | ====== |
- | 版本:Ubuntu 16.04 | + | 适用版本:Ubuntu 16.04、Ubuntu 18.04 |
+ | |||
+ | ===== 安装 Nginx ===== | ||
安装 | 安装 | ||
行 13: | 行 15: | ||
配置文件一般在这里 | 配置文件一般在这里 | ||
/ | / | ||
- | | ||
- | 安装好的文件位置: | ||
- | 主程序: | + | ===== 控制 Nginx 方式1 ===== |
- | / | + | |
- | 存放配置文件: | + | |
- | / | + | |
- | 存放静态文件: | + | |
- | / | + | |
- | 存放日志: | + | |
- | / | + | |
通过这种方式安装的,会自动创建服务,会自动在 / | 通过这种方式安装的,会自动创建服务,会自动在 / | ||
行 29: | 行 22: | ||
| | ||
如 | 如 | ||
- | sudo service nginx start #开始 | + | sudo service nginx start |
sudo service nginx stop | sudo service nginx stop | ||
sudo service nginx restart | sudo service nginx restart | ||
| | ||
+ | ===== 控制 Nginx 2(推荐)===== | ||
+ | |||
+ | 可以通过键入以下命令来检查systemd init系统以确保服务正在运行: | ||
+ | systemctl status nginx | ||
+ | |||
+ | 要停止您的Web服务器,请键入: | ||
+ | sudo systemctl stop nginx | ||
+ | |||
+ | 停止时要启动Web服务器,请输入: | ||
+ | sudo systemctl start nginx | ||
+ | |||
+ | 要停止并再次启动服务,请键入: | ||
+ | sudo systemctl restart nginx | ||
+ | |||
+ | 如果您只是简单地进行配置更改,Nginx通常可以重新加载而不会丢失连接。 为此,请输入: | ||
+ | sudo systemctl reload nginx | ||
+ | |||
+ | 默认情况下,Nginx配置为在服务器引导时自动启动。 如果这不是您想要的,可以通过输入以下命令来禁用此行为: | ||
+ | sudo systemctl disable nginx | ||
+ | |||
+ | 要重新启用服务以在启动时启动,您可以键入: | ||
+ | sudo systemctl enable nginx | ||
+ | |||
+ | ===== 管理网站 ===== | ||
+ | |||
+ | Nginx默认启用了一个服务器模块,该模块被配置为在以下目录: | ||
+ | / | ||
+ | 虽然这适用于单个站点,但如果您托管多个站点,它可能会变得很笨重。 我们不必修改/ | ||
+ | |||
+ | 按如下所示为example.com创建目录,使用-p标志创建任何必需的父目录: | ||
+ | sudo mkdir -p / | ||
+ | | ||
+ | 接下来,使用$USER环境变量分配目录的所有权: | ||
+ | sudo chown -R $USER:$USER / | ||
+ | |||
+ | 如果你没有修改你的umask值,你的web根目录的权限应该是正确的,但是你可以通过输入: | ||
+ | sudo chmod -R 755 / | ||
+ | |||
+ | 如果是使用的php*-fpm,则用户应为 www-data | ||
+ | sudo chown -R www-data: | ||
+ | # | ||
+ | sudo chown -R www-data: | ||
+ | |||
+ | 接下来,使用编辑器创建一个index.html页面示例: | ||
+ | vim / | ||
+ | | ||
+ | 在里面,添加下面的示例HTML: | ||
+ | <code html> | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | 完成后保存并关闭文件。 | ||
+ | |||
+ | 为了让Nginx提供这些内容,有必要创建一个具有正确指令的服务器块。 我们不要直接修改默认配置文件,而是在/ | ||
+ | sudo vim / | ||
+ | |||
+ | 粘贴到以下配置块中,该块类似于默认值,但已更新为我们的新目录和域名: | ||
+ | <code json> | ||
+ | server { | ||
+ | listen 80; | ||
+ | listen [::]:80; | ||
+ | |||
+ | root / | ||
+ | index index.html index.htm index.nginx-debian.html; | ||
+ | |||
+ | server_name example.com www.example.com; | ||
+ | |||
+ | location / { | ||
+ | try_files $uri $uri/ =404; | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | 请注意,我们已将root配置更新到我们的新目录,并将server_name为我们的域名。 | ||
+ | |||
+ | 接下来,让我们通过创建一个链接到启动sites-enabled目录来启用该文件,该目录是Nginx在启动过程中读取的: | ||
+ | sudo ln -s / | ||
+ | | ||
+ | 现在启用两个服务器模块并将其配置为基于listen和server_name指令响应请求(您可以阅读关于Nginx如何处理这些指令的更多信息): | ||
+ | * example.com :将响应example.com和www.example.com请求。 | ||
+ | * default :将响应端口80上与其他两个块不匹配的任何请求。 | ||
+ | |||
+ | 为了避免添加额外的服务器名称可能导致的哈希桶内存问题,有必要调整/ | ||
+ | sudo vim / | ||
+ | | ||
+ | 找到server_names_hash_bucket_size指令并删除# | ||
+ | <code json> | ||
+ | ... | ||
+ | http { | ||
+ | ... | ||
+ | server_names_hash_bucket_size 64; | ||
+ | ... | ||
+ | } | ||
+ | ... | ||
+ | </ | ||
+ | |||
+ | 接下来,测试以确保您的Nginx文件中没有语法错误: | ||
+ | sudo nginx -t | ||
+ | |||
+ | 完成后保存并关闭文件。 | ||
+ | |||
+ | 如果没有任何问题,请重新启动Nginx以启用您的更改: | ||
+ | sudo systemctl restart nginx | ||
+ | |||
+ | Nginx现在应该为您的域名提供服务。 | ||
+ | |||
+ | 你可以通过导航到http:// | ||
+ | |||
+ | ===== 一些问题 ===== | ||
+ | |||
+ | **出现类似 nginx depends on nginx-core (>= 1.10.3-0ubuntu0.16.04.4) 的错误的解决办法:** | ||
+ | |||
+ | 首先看是否有 Apache2 服务正在启动,关闭它 | ||
+ | |||
+ | sudo systemctl stop apache2.service | ||
+ | |||
+ | 防止 Apache2 服务自启 | ||
+ | |||
+ | sudo systemctl disable apache2.service | ||
+ | |||
+ | 重新安装 Nginx | ||
+ | |||
+ | sudo apt-get install nginx | ||
+ | |||
+ | ===== Nginx主要的文件和目录 ===== | ||
+ | |||
+ | **内容** | ||
+ | |||
+ | * / | ||
+ | |||
+ | **服务器配置** | ||
+ | |||
+ | * /etc/nginx :Nginx配置目录。 所有的Nginx配置文件都驻留在这里。 | ||
+ | * / | ||
+ | * / | ||
+ | * / | ||
+ | * / | ||
+ | |||
+ | **服务器日志** | ||
+ | |||
+ | * / | ||
+ | * / | ||
+ | |||
+ | ===== Dokuwiki网站的配置 ===== | ||
+ | * [[.nginx-php-dokuwiki]] | ||
+ | |||
+ | 参考: | ||
+ | - https:// | ||
+ | - https:// |
wiki/linux/ubuntu-install-nginx.1569766965.txt.gz · 最后更改: 2023/01/03 15:24 (外部编辑)