客户的机器属于 Centos7 系列,由于其较为陈旧,2024开始众多镜像和软件源都已失效。此篇文章将详细记录在 Centos7 操作系统上从零开始安装 Nginx 的整个流程。
本文Nginx是安装在/usr/local/nginx下
详细步骤如下:
- 准备Nginx安装包,安装包去官网下载即可,我选择的是Nginx1.10.1,Nginx安装包如下图所示:
Nginx安装包
- 下载完成后解压
tar -zxvf nginx-1.10.1.tar.gz
- 解压完成后进入到nginx目录,
cd nginx-1.10.1/
- 执行命令
./configure --prefix=/usr/local/nginx
- 执行完成后再分别执行
make和sudo make install
注意:在执行过程中若缺少Nginx相关依赖会报错,如缺少pcre、zlib-devel等依赖,可以根据提示通过yum安装即可,若yum的软件源无法使用,请先更换成国内可访问的软件源,如阿里云,可参见此文章结尾)
- 安装完成后通过 ps -ef|grep nginx 查看进程是否有,若无则前往/sbin执行
./nginx
或./nginx -s reload
启动 - 启动完成后默认开启80端口 通过访问curl http://127.0.0.1查看有类似Welcome to Nginx的欢迎页说明就成功了。
在安装过程中可能会遇到的问题:
常见问题一、 无法通过yum安装某些软件或依赖包
- 把yum源更换掉,先备份,如下命令:
sudo cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
- 然后执行命令替换:
sudo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
- 刷新
sudo yum makecache
常见问题二、 安装完成后无法访问
- 先检查Nginx启动后进程是否存在,命令:
ps -ef|grep nginx
若未启动则需要去sbin目录执行 ./nginx命令启动 - 检查80端口是否开放,通过telnet命令查是否正常 若未开放 执行命令开放:
sudo firewall-cmd --permanent --add-port=80/tcp
然后执行
sudo firewall-cmd --reload
刷新防火墙即可
常见问题三、 安装完成后访问提示403 无权限
- 检查启动nginx的帐户是否有权限,默认启动是nobody,需在nginx.conf更改为root即可,如下图:
- 检查要访问的文件是否有权限,可通过
chmod 777 [指定文件]
授权可 执行chmod -R a+rwx [文件或目录]授权
这就是我今天安装Nginx遇到的问题记录。
2024.10