Centos7下yum包安装+编译安装nginx1.18.0并配置为自启动

本文详细介绍了在CentOS 8上通过官方yum源安装Nginx 1.18.0的步骤,以及与手动编译安装的对比,包括配置yum源、指定版本安装、依赖包管理、用户创建、源码编译、自定义配置和启动服务。同时概述了nginx安装后的目录结构和关键配置要点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.通过官方 yum 源安装nginx

1.配置yum源

[root@centos8 ~]#cat /etc/yum.repos.d/nginx.repo

[nginx-stable] name=nginx stable repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=1 enabled=1 gpgkey=https://nginx.org/keys/nginx_signing.key module_hotfixes=true

[nginx-mainline] name=nginx mainline repo baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/ gpgcheck=1 enabled=0 gpgkey=https://nginx.org/keys/nginx_signing.key module_hotfixes=true

2.安装指定版本

yum -y install nginx-1.18.0

3.检查安装

[root@centos8 ~]#rpm -q nginx

nginx-1.18.0-1.el8.ngx.x86_64

二.编译安装nginx1.18.0 

1.安装所需的依赖包

#centos7、8

[root@centos8 ~]#yum -y install gcc pcre-devel openssl-devel zlib-devel

#rocky8

[root@rocky8 ~]#yum -y install gcc make gcc-c++ libtool pcre pcre-devel zlib zlib-devel openssl openssl-devel perl-ExtUtils-Embed

#ubuntu2004

[root@ubuntu2004 ~]#apt -y install gcc make libpcre3 libpcre3-dev openssl libssl-dev zlib1g-dev

2.为应用程序创建用户

useradd -s /sbin/nologin nginx       

#useradd -s:指定用户登录的shell

#/sbin/nologin:shell类型中的一种,作用是禁止用户登录

3.下载源码后解压

wget http://nginx.org/download/nginx-1.18.0.tar.gz

tar xf nginx-1.18.0.tar.gz

4.切换到nginx-1.18.0目录下进行编译

cd nginx-1.18.0/

./configure --prefix=/apps/nginx \

 --user=nginx \ --group=nginx \

--with-http_ssl_module \ --with-http_v2_module \

--with-http_realip_module \ --with-http_stub_status_module \

--with-http_gzip_static_module \

--with-pcre \ --with-stream \

--with-stream_ssl_module \ --with-stream_realip_module

#默认安装路径在/usr/local/下,

更改需要加上参数(--prefix='安装路径')

#其它--参数,规定了nginx的某些模块达到特定的作用

5.开始安装

make && make install

6.修改权限

chown -R nginx.nginx /apps/nginx

#第2步和第4步的目的:为nginx服务创建一个用户,禁止此用户登录,修改配置文件的属主和属组为nginx用户,除管理员root外,其它用户将无法修改配置文件,提高了安全性

7.查看nginx启动文件,然后建立一个软连接,让此启动文件能被系统识别到

ls /apps/nginx/sbin/nginx

ln -s /apps/nginx/sbin/nginx /usr/sbin/

8.启动nginx服务

nginx

9.验证版本及编译参数

nginx -v(此处小写)

nginx -V(此处大写)

2.nginx完成安装后,会有四个主要目录

  • #生成目录

        ll /apps/nginx/

        total 0

       drwxr-xr-x 2 root root 333 Sep 22 12:49 conf

       drwxr-xr-x 2 root root  40 Sep 22 12:49 html

       drwxr-xr-x 2 root root   6 Sep 22 12:49 logs

       drwxr-xr-x 2 root root  19 Sep 22 12:49 sbin

  • #conf:保存nginx所有的配置文件,其中nginx.conf是nginx服务器的最核心最主要的配置文件,其他的.conf则是用来配置nginx相关的功能的,例如fastcgi功能使用的是fastcgi.conf和fastcgi_params两个文件,配置文件一般都有一个样板配置文件,是以.default为后缀,使用时可将其复 制并将default后缀去掉即可
  • #html目录中保存了nginx服务器的web文件,但是可以更改为其他目录保存web文件,另外还有一个50x的 web文件是默认的错误页面提示页面
  • #logs:用来保存nginx服务器的访问日志错误日志等日志,logs目录可以放在其他路径,比 如/var/logs/nginx里面
  • #sbin:保存nginx二进制启动脚本,可以接受不同的参数以实现不同的功能

3.创建nginx自启动文件

1.复制同一版本yum安装nginx生成的service文件

vim /usr/lib/systemd/system/nginx.service

[Unit] Description=nginx - high performance web server

Documentation=http://nginx.org/en/docs/

After=network-online.target remote-fs.target nss-lookup.target

Wants=network-online.target

[Service]

Type=forking

PIDFile=/apps/nginx/run/nginx.pid               #指定pid文件的目录,默认在logs目录下,可选配置

ExecStart=/apps/nginx/sbin/nginx -c /apps/nginx/conf/nginx.conf

ExecReload=/bin/kill -s HUP $MAINPID

ExecStop=/bin/kill -s TERM $MAINPID

LimitNOFILE=100000

[Install]

WantedBy=multi-user.target

2.创建pid文件存放的目录

mkdir /apps/nginx/run/

3.修改配置文件

vim /apps/nginx/conf/nginx.conf

pid   /apps/nginx/run/nginx.pid;

4.验证自启动文件

systemctl daemon-reload

systemctl enable --now nginx

5.查看80端口是否开启

ss -ntl 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值