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
分享:
扫描分享到社交APP
上一篇
下一篇