Ubuntu Server 安装 Nginx 及默认文件目录

本文介绍了如何在Ubuntu Server上快速安装Nginx,包括两个关键命令,并详细解读了Nginx的默认配置文件夹结构,如主配置文件、站点配置目录等。
Ubuntu Server 安装 Nginx 及默认文件目录
系统管理员
2019-12-06 18:02:19

  Nginx 是一款轻量级的 Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上 Nginx 的并发能力在同类型的网页服务器中表现较好。

  Nginx 在 Ubuntu Server 上的安装是及其简单的,仅需 2 条命令就可以完成安装。

1
2
sudo apt-get update
sudo apt-get install nginx

Ubuntu Server 安装 Nginx

  安装完成后可以查看 80 端口是否被占用,或者直接访问服务器的 80 端口来确认是否安装成功。

1
netstat -ano | grep 80

Ubuntu Server 安装 Nginx

Ubuntu Server 安装 Nginx

  既然是默认安装,那这里就介绍一下 Nginx 默认的文件及目录:

    /etc/nginx :Nginx 配置目录。所有的Nginx配置文件都在这里。

    /etc/nginx/nginx.conf :Nginx 主配置文件,修改此配置可以对 Nginx 全局进行更改。

    /etc/nginx/sites-available :存储每个站点配置文件的目录。Nginx 不会直接使用此目录中的配置文件。通常所有服务器块配置都在此目录中完成,然后通过链接到 sites-enabled 目录来启用。

    /etc/nginx/sites-enabled :存储已启用站点配置文件的目录。通常这些配置文件是从 sites-available 目录链接而来,使配置文件启用。


    /var/log/nginx/access.log :在 nginx.conf 配置中默认配置的访问请求日志文件,对于 Nginx Web 服务器的每个请求都将记录在此日志文件中。

    /var/log/nginx/error.log :在 nginx.conf 配置中默认配置的错误日志文件,Nginx 发生错误时将记录在此日志中。


    /var/www/html :在 sites-available/default 配置的默认站点的主目录,默认情况下只包含您之前看到的默认页面:index.nginx-debian.html。

转载:https://www.caalien.com/Article/View/5
<think>我们正在处理用户关于在Ubuntu系统上编译安装Nginx到指定目录的问题。根据引用内容,用户希望将Nginx安装到用户目录(例如/home/username/nginx)而不是默认的系统目录。以下是详细步骤: ### 1. 更新系统并安装依赖 首先,更新系统包列表并安装编译所需的依赖: ```bash sudo apt update sudo apt install build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev -y ``` > 📌 关键依赖说明: > - `build-essential`:包含gcc, make等编译工具 > - `libpcre3-dev`, `zlib1g-dev`, `libssl-dev`:Nginx运行所需的核心库[^1][^2] ### 2. 下载Nginx源码 选择一个目录(例如用户主目录)并下载源码: ```bash cd ~ # 切换到用户主目录 wget https://nginx.org/download/nginx-1.25.3.tar.gz # 使用最新版本 tar -zxvf nginx-1.25.3.tar.gz cd nginx-1.25.3 ``` ### 3. 配置编译选项(关键步骤) 使用`--prefix`参数指定安装目录(例如`/home/ubuntu/nginx`): ```bash ./configure \ --prefix=/home/ubuntu/nginx \ # 替换为实际用户目录 --with-http_ssl_module # 启用SSL支持[^1] ``` > 💡 提示: > - 如需其他模块(如HTTP/2),添加`--with-http_v2_module` > - 查看所有配置选项:`./configure --help` ### 4. 编译并安装 ```bash make -j$(nproc) # 使用多核加速编译 make install # 安装到指定目录(无需sudo,因为目标目录用户有权限) ``` ### 5. 验证安装 ```bash # 检查版本 /home/ubuntu/nginx/sbin/nginx -v # 启动Nginx /home/ubuntu/nginx/sbin/nginx # 验证运行(默认监听80端口) curl -I 127.0.0.1 ``` ### 6. 配置SSL证书(可选) 若需HTTPS支持,将证书文件放入安装目录: ```bash mkdir /home/ubuntu/nginx/conf/certs # 将证书文件(server.crt和server.key)复制到certs目录 ``` 然后在`nginx.conf`中配置: ```nginx server { listen 443 ssl; ssl_certificate certs/server.crt; ssl_certificate_key certs/server.key; ... } ``` ### ⚠️ 注意事项 1. **权限问题**:确保用户对安装目录有读写权限 2. **端口冲突**:如果80端口已被占用,需修改`nginx.conf`中的`listen`端口 3. **防火墙设置**:允许相应端口(如80/443): ```bash sudo ufw allow 80 sudo ufw allow 443 ``` ### 后续管理 - **启动**:`/home/ubuntu/nginx/sbin/nginx` - **重载配置**:`/home/ubuntu/nginx/sbin/nginx -s reload` - **停止**:`/home/ubuntu/nginx/sbin/nginx -s quit` §§ 相关问题 §§ 1. 如何将Nginx添加到系统PATH以便全局使用? 2. 如何为自定义安装Nginx配置开机自启? 3. 如何升级已编译安装Nginx版本? 4. 如何解决编译安装Nginx时的依赖错误? > [^1]: 指定目录安装流程 > [^2]: 依赖库安装说明 </think>以下是在 Ubuntu 系统上编译安装 Nginx 到指定目录的详细步骤,综合引用内容并优化操作流程: --- ### **1. 准备工作** #### 更新系统并安装依赖 ```bash sudo apt update sudo apt install build-essential libpcre3-dev zlib1g-dev libssl-dev -y ``` > 📌 关键依赖: > - `build-essential`:编译工具链(gcc/make) > - `libpcre3-dev`:正则表达式支持 > - `zlib1g-dev`:GZIP 压缩支持 > - `libssl-dev`:HTTPS 支持[^1][^2] --- ### **2. 下载源码并配置** #### 创建目标目录并获取源码 ```bash # 创建自定义安装目录(示例:/home/ubuntu/nginx) mkdir -p ~/nginx # 下载源码(以1.25.3为例) cd ~ wget https://nginx.org/download/nginx-1.25.3.tar.gz tar -zxvf nginx-*.tar.gz cd nginx-* ``` #### 配置编译选项(核心步骤) ```bash ./configure \ --prefix=/home/ubuntu/nginx \ # 指定安装目录 --with-http_ssl_module \ # 启用HTTPS支持 --with-threads \ # 线程池支持 --without-http_empty_gif_module # 禁用无用模块 ``` > 💡 自定义提示: > - 修改 `--prefix` 路径为你的目标目录 > - 添加模块:`--with-模块名` > - 删除模块:`--without-模块名` --- ### **3. 编译与安装** ```bash make -j$(nproc) # 多核并行编译 make install # 安装到指定目录[^1] ``` --- ### **4. 验证安装** ```bash # 检查版本 ~/nginx/sbin/nginx -v # 启动服务 ~/nginx/sbin/nginx # 验证运行(默认监听80端口) curl -I 127.0.0.1 ``` --- ### **5. 自定义配置** #### 配置系统服务(可选) 创建服务文件: ```bash sudo nano /etc/systemd/system/nginx.service ``` 粘贴以下内容(修改路径): ```ini [Unit] Description=Custom Nginx Service After=network.target [Service] Type=forking PIDFile=/home/ubuntu/nginx/logs/nginx.pid ExecStart=/home/ubuntu/nginx/sbin/nginx ExecReload=/home/ubuntu/nginx/sbin/nginx -s reload ExecStop=/home/ubuntu/nginx/sbin/nginx -s quit [Install] WantedBy=multi-user.target ``` 启用服务: ```bash sudo systemctl daemon-reload sudo systemctl enable nginx ``` #### 配置 SSL 证书 ```bash # 创建证书目录 mkdir -p ~/nginx/conf/certs # 上传证书文件后配置 nginx.conf sudo nano ~/nginx/conf/nginx.conf ``` 添加 SSL 配置片段: ```nginx server { listen 443 ssl; ssl_certificate /home/ubuntu/nginx/conf/certs/server.crt; ssl_certificate_key /home/ubuntu/nginx/conf/certs/server.key; } ``` --- ### **关键注意事项** 1. **权限管理**: ```bash sudo chown -R $USER:$USER ~/nginx # 确保用户有权限 ``` 2. **端口冲突**: ```bash sudo ss -tulpn | grep ':80' # 检查端口占用 ``` 3. **环境变量**: ```bash echo 'export PATH="$HOME/nginx/sbin:$PATH"' >> ~/.bashrc source ~/.bashrc ``` --- ### **操作流程图解** ```mermaid graph TD A[更新系统] --> B[安装依赖] B --> C[创建目标目录] C --> D[下载源码] D --> E[配置编译选项] E --> F[编译安装] F --> G[验证安装] G --> H[配置服务] H --> I[部署证书] ``` ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值