HCRM博客

CentOS系统下Nginx安装指南

在 CentOS 上安装 Nginx 是一个相对简单且常见的操作,Nginx 是一个高性能的 HTTP 和反向代理服务器,以下是详细的步骤和相关注意事项:

一、准备工作

1、确保有sudo权限:你需要以拥有sudo权限的用户身份登录系统。

CentOS系统下Nginx安装指南-图1
(图片来源网络,侵权删除)

2、检查端口占用情况:确保系统中没有其他服务(如apache)占用80(HTTP)和443(HTTPS)端口。

二、安装步骤

方法一:通过YUM仓库安装

1、安装EPEL仓库:如果你的CentOS版本没有默认包含Nginx的软件包,可以通过EPEL仓库来安装。

  • sudo yum install epelrelease

2、安装Nginx

  • sudo yum install nginx

3、启动Nginx并设置开机自启

  • sudo systemctl start nginx
  • sudo systemctl enable nginx

4、验证Nginx是否成功启动

CentOS系统下Nginx安装指南-图2
(图片来源网络,侵权删除)
  • sudo systemctl status nginx

你应该能看到类似于以下的输出,表示Nginx正在运行:

  • ● nginx.service The nginx HTTP and reverse proxy server
  • Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
  • Active: active (running) since Mon 20180312 16:12:48 UTC; 2s ago
  • Process: 1677 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
  • Process: 1675 ExecStartPre=/usr/sbin/nginx t (code=exited, status=0/SUCCESS)
  • Main PID: 1680 (nginx)
  • CGroup: /system.slice/nginx.service
  • ├─1680 nginx: master process /usr/sbin/nginx
  • └─1681 nginx: worker process

5、打开防火墙端口(如果已启用防火墙):

  • sudo firewallcmd permanent zone=public addservice=http
  • sudo firewallcmd permanent zone=public addservice=https
  • sudo firewallcmd reload

6、验证Nginx是否成功启动:在浏览器中输入服务器的IP地址或域名,你将看到Nginx的默认欢迎页面。

方法二:通过编译源码安装(适用于需要特定配置的情况)

1、安装依赖包

  • sudo yum install gcc pcre pcredevel zlib zlibdevel openssl openssldevel y

2、下载Nginx源码

CentOS系统下Nginx安装指南-图3
(图片来源网络,侵权删除)
  • wget http://nginx.org/download/nginx1.XX.X.tar.gz
  • tar zxvf nginx1.XX.X.tar.gz
  • cd nginx1.XX.X

3、配置、编译和安装Nginx

  • ./configure prefix=/usr/local/nginx
  • make
  • sudo make install

4、启动Nginx

  • sudo /usr/local/nginx/sbin/nginx

5、设置Nginx为系统服务(可选):可以创建systemd服务文件,使Nginx能够通过systemctl管理。

三、Nginx配置文件和最佳实践

1、主配置文件路径/etc/nginx/nginx.conf

2、站点配置文件路径/etc/nginx/conf.d/,建议为每个域名创建一个单独的配置文件,文件名通常为domain.com.conf

3、日志文件路径:默认情况下,访问日志和错误日志位于/var/log/nginx/目录下。

四、常见问题及解决方法

1、端口被占用

如果80或443端口被其他服务占用,可以先停止占用端口的服务,或者修改Nginx的配置文件,使用不同的端口。

查看端口占用情况:

  • netstat tuln | grep :80

2、防火墙设置问题

如果无法访问Nginx,请确认防火墙已正确配置,允许HTTP和HTTPS流量通过。

检查防火墙状态:

  • sudo firewallcmd listall

3、SELinux问题

如果遇到与SELinux相关的权限问题,可以尝试临时关闭SELinux或为Nginx添加相应的策略。

临时关闭SELinux:

  • sudo setenforce 0

永久关闭SELinux(不推荐):

  • sudo vi /etc/selinux/config
  • # 将 SELINUX=enforcing 改为 SELINUX=disabled

五、FAQs问答环节

Q1:如何在CentOS上卸载Nginx?

A1:可以通过以下命令卸载Nginx:

  • sudo yum remove nginx y

如果是通过源码编译安装的,则需要手动删除安装目录及相关文件。

Q2:如何更改Nginx监听的端口数?

A2:编辑Nginx的主配置文件/etc/nginx/nginx.conf,找到http区块中的listen指令,将其修改为所需的端口号,

  • server {
  • listen 8080;
  • server_name your_domain_or_ip;
  • ...
  • }

修改完成后,重新加载NGINX配置

  • sudo systemctl reload nginx

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/12107.html

分享:
扫描分享到社交APP
上一篇
下一篇