Linux 配置 Nginx 服务的详细步骤,绝对干货

简介: Linux 配置 Nginx 服务的详细步骤,绝对干货

1. 更新系统

Bash

1sudo apt-get update && sudo apt-get upgrade # 对于基于Debian/Ubuntu的系统
2sudo yum update # 对于基于RHEL/CentOS的系统
3
4# 如果你使用的是较新的系统,可能需要使用dnf代替yum
5sudo dnf check-update && sudo dnf upgrade # 对于基于Fedora/CentOS Stream的系统

2. 安装Nginx

使用包管理器安装(推荐)

对于大多数Linux发行版,你可以通过包管理器轻松安装Nginx:

对于Debian / Ubuntu:

Bash

1sudo apt-get install nginx

对于RHEL / CentOS / Fedora / CentOS Stream:

Bash

1sudo yum install epel-release # 添加EPEL仓库(如果是RHEL/CentOS 7及以前版本)
2sudo dnf install nginx # 对于Fedora/CentOS Stream,或已经安装了EPEL的RHEL/CentOS 8+

或者从源码编译安装(如果你需要特定版本或额外模块)

Bash

1# 安装编译所需的依赖
2sudo yum install -y gcc gcc-c++ automake pcre pcre-devel zlib zlib-devel openssl-devel
3
4# 下载对应版本的Nginx源码
5wget http://nginx.org/download/nginx-1.23.0.tar.gz # 替换成你需要的版本号
6tar -zxvf nginx-1.23.0.tar.gz
7cd nginx-1.23.0
8
9# 配置、编译和安装
10./configure --prefix=/usr/local/nginx --with-http_ssl_module # 添加所需模块
11make
12sudo make install

3. 配置Nginx

Nginx的主配置文件位于 /etc/nginx/nginx.conf。打开它进行基础配置修改,例如设置工作进程数、监听端口等:

Bash

1sudo nano /etc/nginx/nginx.conf
1.
例如,配置worker_processes和events模块:
Nginx
1worker_processes auto; # 根据CPU核心数自动设置工作进程数
2events {
3    worker_connections 1024; # 每个工作进程的最大并发连接数
4}
5
6http {
7    ...
8}

4. 配置Nginx虚拟主机

在/etc/nginx/conf.d/目录下创建一个新的配置文件,例如default.conf:

Bash

1sudo nano /etc/nginx/conf.d/default.conf

在新文件中编写虚拟主机配置,例如:

Nginx
1server {
2    listen 80; # 监听80端口
3    server_name yourdomain.com; # 替换为你的域名或IP地址
4
5    root /var/www/html; # 设置网站根目录
6    index index.html index.htm;
7
8    location / {
9        try_files $uri $uri/ =404;
10    }
11}

5. 开放端口号

确保系统的防火墙规则允许外部访问80端口(HTTP)或443端口(HTTPS)。对于iptables,你可以这样做:

Bash
1sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
2sudo service iptables save # 保存iptables规则(对于旧版系统)
3# 或者使用firewalld(对于较新系统)
4sudo firewall-cmd --permanent --add-service=http
5sudo firewall-cmd --reload

6. 启动Nginx服务并检查状态

启动Nginx服务:

Bash
1sudo systemctl start nginx # Debian/Ubuntu/Fedora/CentOS
2sudo service nginx start # 旧版CentOS/RHEL
3
4# 设置开机启动
5sudo systemctl enable nginx # 新版系统
6sudo chkconfig nginx on # 旧版系统
7
8# 检查Nginx服务状态
9sudo systemctl status nginx # 新版系统
10sudo service nginx status # 旧版系统

现在你应该可以在浏览器中通过服务器的IP地址或配置的域名访问到Nginx默认欢迎页。对于更复杂的配置,如SSL/TLS设置、反向代理、负载均衡等功能,请根据实际需求进一步配置相应的Nginx配置文件。


目录
相关文章
|
2天前
|
存储 负载均衡 中间件
Nginx反向代理配置详解,图文全面总结,建议收藏
Nginx 是大型架构必备中间件,也是大厂喜欢考察的内容,必知必会。本篇全面详解 Nginx 反向代理及配置,建议收藏。
Nginx反向代理配置详解,图文全面总结,建议收藏
|
13天前
|
Linux 应用服务中间件 Shell
linux系统服务二!
本文详细介绍了Linux系统的启动流程,包括CentOS 7的具体启动步骤,从BIOS自检到加载内核、启动systemd程序等。同时,文章还对比了CentOS 6和CentOS 7的启动流程,分析了启动过程中的耗时情况。接着,文章讲解了Linux的运行级别及其管理命令,systemd的基本概念、优势及常用命令,并提供了自定义systemd启动文件的示例。最后,文章介绍了单用户模式和救援模式的使用方法,包括如何找回忘记的密码和修复启动故障。
35 5
linux系统服务二!
|
13天前
|
Linux 应用服务中间件 Shell
linux系统服务!!!
本文详细介绍了Linux系统(以CentOS7为例)的启动流程,包括BIOS自检、读取MBR信息、加载Grub菜单、加载内核及驱动程序、启动systemd程序加载必要文件等五个主要步骤。同时,文章还对比了CentOS6和CentOS7的启动流程图,并分析了启动流程的耗时。此外,文中还讲解了Linux的运行级别、systemd的基本概念及其优势,以及如何使用systemd管理服务。最后,文章提供了单用户模式和救援模式的实战案例,帮助读者理解如何在系统启动出现问题时进行修复。
34 3
linux系统服务!!!
|
15天前
|
应用服务中间件 API nginx
nginx配置反向代理404问题
【10月更文挑战第18天】本文介绍了使用Nginx进行反向代理的配置方法,解决了404错误、跨域问题和302重定向问题。关键配置包括代理路径、请求头设置、跨域头添加以及端口转发设置。通过调整`proxy_set_header`和添加必要的HTTP头,实现了稳定的服务代理和跨域访问。
nginx配置反向代理404问题
|
5天前
|
缓存 资源调度 安全
深入探索Linux操作系统的心脏——内核配置与优化####
本文作为一篇技术性深度解析文章,旨在引领读者踏上一场揭秘Linux内核配置与优化的奇妙之旅。不同于传统的摘要概述,本文将以实战为导向,直接跳入核心内容,探讨如何通过精细调整内核参数来提升系统性能、增强安全性及实现资源高效利用。从基础概念到高级技巧,逐步揭示那些隐藏在命令行背后的强大功能,为系统管理员和高级用户打开一扇通往极致性能与定制化体验的大门。 --- ###
25 9
|
5天前
|
负载均衡 前端开发 JavaScript
Nginx 代理多服务
以上是 Nginx 代理多服务的几种常见方式,在实际应用中,可以根据具体的业务需求和系统架构选择合适的代理方式,并结合其他 Nginx 的功能和配置来优化和完善系统的性能和功能。
|
7天前
|
存储 安全 数据管理
如何在 Rocky Linux 8 上安装和配置 Elasticsearch
本文详细介绍了在 Rocky Linux 8 上安装和配置 Elasticsearch 的步骤,包括添加仓库、安装 Elasticsearch、配置文件修改、设置内存和文件描述符、启动和验证 Elasticsearch,以及常见问题的解决方法。通过这些步骤,你可以快速搭建起这个强大的分布式搜索和分析引擎。
20 5
|
10天前
|
应用服务中间件 网络安全 PHP
八个免费开源 Nginx 管理系统,轻松管理 Nginx 站点配置
Nginx 是一个高效的 HTTP 服务器和反向代理,擅长处理静态资源、负载均衡和网关代理等任务。其配置主要通过 `nginx.conf` 文件完成,但复杂设置可能导致错误。本文介绍了几个开源的 Nginx 可视化配置系统,如 Nginx UI、VeryNginx、OpenPanel、Ajenti、Schenkd nginx-ui、EasyEngine、CapRover 和 NGINX Agent,帮助简化和安全地管理 Nginx 实例。
|
6月前
|
Linux
linux中服务管理
在Linux服务管理中,从传统的System V init到Upstart,再到广泛采用的systemd,管理方式不断发展。systemd以其强大的功能和依赖解决成为现代Linux的核心。`systemctl`是管理服务的关键命令,如启动(`start`)、停止(`stop`)、重启(`restart`)服务及设置开机启动(`enable`)或取消(`disable`)。了解和服务管理,特别是systemd和`systemctl`的使用,对系统管理员至关重要。其他如xinetd用于控制网络服务,而特定环境下有OpenRC等工具。
56 2
|
安全 Ubuntu 网络协议
Linux中的服务管理
Linux系统可以同时运行数百个任务。其中大多数都属于操作系统环境的组成部分,不过可能也会有那么一两个你不需要的**守护进程**。有3种可用于启动守护进程和服务的工具,Linux发行版支持其中任意一种。传统的SysV系统使用/etc/init.d中的脚本。较新的systemd守护进程除了使用/etc/init.d之外,还用到了systemctl调用。还有些发行版使用的是upstart,配置脚本保存在/etc/init中。systemd如今已经取代了SysVinit系统。upstart是由Ubuntu开发并采用的,但是在14.04版中,已经改成了systemd。
150 3