前言

本文介绍了在CentOS7.6操作系统中安装Nginx的过程。
操作系统是鲲鹏ARM版本。安装过程与x86架构没有区别。
内网环境,所以不能使用yum,最麻烦的就是到处去找安装包。


下载安装包

在nginx官网很容就能找到安装包:
https://nginx.org/en/download.html
可以看到这里只区分了linux和windows的版本,并没有ARM版本,选择稳定版本即可。
我一般选择24或之后的版本。将下载的安装包拷到服务器中待用。

准备环境

离线环境最麻烦就是这个,需要提前准备很多rpm安装包。
gcc-c++
pcre
pcre-devel
zlib
openssl
openssl-dev

上面列举的只是编译安装最终依赖的包,而这些包还有依赖包,嵌套了很多层。总共可能有二十多个……
这里有2个技巧:
1.大部分的基础安装包都可以在操作系统镜像文件中的Packages文件夹下找到。
2.如果两个包互相依赖,可以使用下面命令一起安装:

rpm -ivh packages1 packages2

总之这一步很繁琐。

安装

解压安装包,在目录内依次执行配置、编译和安装

./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
make
make install

nginx被安装在/usr/local/nginx目录下。
执行文件为/usr/local/nginx/sbin/nginx。
配置文件在/usr/local/nginx/conf/nginx.conf。

执行

启动命令为:
/usr/local/nginx/sbin/nginx #启动

配置环境变量

配置环境变量后,即可直接运行不用再加路径了。
编辑/etc/profile文件,并在最下方加入一行。将nginx执行目录添加进环境变量。

vim /etc/profile

export PATH=$PATH:/usr/local/nginx/sbin

保存文件后,让文件生效。

source /etc/profile

之后就可以直接执行命令:

nginx #启动
nginx -s stop #停止
nginx -s reload #重启
nginx -t #测试配置(查看配置文件位置)
nginx -v #查看版本

nginx启动后,即可在远端访问80端口(默认)了。

设置

修改/usr/local/nginx/conf/nginx.conf文件即可。

里面可以修改路径、端口、ssl等配置,内容很多,值得单开一期了。本篇文章只讨论如何安装和启动,这里就不赘述了。

记得修改配置文件后需要重启nginx服务。

常见问题

1.26版本部署后出现403 报错

新部署的环境,没有任何改动。查看日志发现错误是:(13: Permission denied)

2025/03/10 13:32:52 [error] 217822#0: *1 “/usr/local/nginx/html/index.html” is forbidden (13: Permission denied), client: 66.183.228.236, server: localhost, request: “GET / HTTP/1.1”, host: “192.168.0.101”
2025/03/10 13:32:52 [error] 217822#0: *1 open() “/usr/local/nginx/html/favicon.ico” failed (13: Permission denied), client: 66.183.228.236, server: localhost, request: “GET /favicon.ico HTTP/1.1”, host: “192.168.0.101”, referrer: "http://192.168.0.101/ "

试了网上的方法:

1 查看文件权限

确认html目录下的页面文件具有664权限(-rw-r–r–)
确认html目录具有755权限(drwxr-xr-x)

2 修改配置文件(解决方案)

修改配置文件中第一行中的注释解开:

#user nobody;

改为:

user root;

修改后,重启服务。

Logo

鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。

更多推荐