使用源代码下载安装nginx,及服务管理

使用源码安装的情况及优势:

简单来说,如果yum、rpm软件包不能提供所需的软件,就要考虑源代码安装。获取源代码包后,进行编译安装。另外源代码包可以根据用户的需要对软件加以定制,有的还允许二次开发。

一、安装前的准备工作

  基于安全考虑,nginx不以root身份运行,而以普通用户和组身份运行。

ps:在使用sudo时出现:redhat (用户) is not in the sudoers file.  This incident will be reported4

登入超级用户 然后进入vim /etc/sudoers

找到 root ALL=(ALL)ALL  在下面添加: 用户名 ALL=(ALL)ALL

 1. 创建一个名为nginx的组账户

groupadd nginx

2.创建一个属于改组的同名用户,不允许该用户登录和创建主目录

useradd nginx -g nginx -s /sbin/nologin -M

二、依赖库安装

1.安装c++环境

yum -y install gcc gcc-c++ autoconf automake make

2.安装pcre

提供nginx重写功能

yum -y install pcre pcre-devel

3.安装zlib

zlib 库提供了很多压缩和解压缩的方式,nginx 使用 zlib 对 http 包内容进行 gzip 压缩

  yum -y install zlib zlib-devel make libtool

4.安装openssl

安全套接字层密码库,用于通信加密

yum -y install openssl openssl-devel

三、nginx安装

        除了Apache,Linux 系统中还常常使用另一款Web服务器软件nginx,它最显著的特点是对连接高并发业务提供很好的支持。

        最新版本的nginx 是以源代码形式发布的,可以到其官网htp:/nginx.org/download/上下载 Linux版本相应的源代码包,有tar.gz和zip两种格式,这里下载tar.gz格式的源代码包,文件以nginx-version.tar.gz命名,version代表版本号,例中版本为1.20.2

1.上传下载好的安装包(nginx-1.20.1.tar.gz)

青色向上箭头传输,这里是远程连接使用的MobaXterm

ls查看

2.解压

tar -zxvf nginx-1.20.2.tar.gz

3.编译目录

cd nginx-1.20.2

4.检查平台安装环境

./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --user=nginx --group=nginx

参数说明: –prefix=/usr/local/nginx

#编译安装目录 –user=nginx

#所属用户nginx –group=nginx

#所属组nginx –with-http_stub_status_module

#该模块提供nginx的基本状态信息 –with-http_ssl_module

# 支持HTTPS

          

5.执行make命令编译源代码

  make会依据Makefile文件中的设置对源代码进行编译并生成可执行的二进制文件。编

译工作主要是运行gcc将源代码编译成为可以执行的目标文件,但是这些目标文件通常还需

要连接一些函数库才能产生一个完整的可执行文件。使用make就是要将源代码编译成为可更多的时间为执行文件,放置在目前所在的目录之下,此时还没有安装到指定目录中。

make

6.执行make install安装软件

make只是生成可执行文件,要将可执行文件安装到系统中,还需执行make install 命令。通常这是最后的安装步骤,make根据Makefile 文件中关于install目标的设置 上一步骤所编译完成的二进制文件、库和配置文件等安装到预定的目录中。

make install

至此完成nginx的源码编译安装完成!!

四、测试nginx

1.关闭防火墙,查看防火墙状态

systemctl status firewalld

状态为actving,关闭防火墙

systemctl stop firewalld

2.启动服务

注意不要退出编译目录:nginx-1.20.2

  /usr/local/nginx/sbin/nginx

(1). 启动后查看nginx情况

ps -ef | grep nginx

(2). 查看nginx的版本号

 /usr/local/nginx/sbin/nginx -V

3.访问nginx

在浏览器输入网址(此虚拟机系统ip)访问

五、编写systemd单元文件管理nginx服务

1.编写单元文件

编写一个单元文件,以便systemd能够管理nginx服务

在/usr/lib/systemd/system或/etc/systemd/system目录下,创建一个nginx.service文本文件。

内容如下:

[Unit] 
Description=nginx - high performance web server                            Documentation=http://nginx.org/en/docs/                                                                        After=network.target remote-fs.target nss-1ookup.target 

[Service] 
Type=forking 
PIDFile=/usr/local/nginx/logs/nginx.pid 
ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf                                          ExecReload=/bin/kill -s HUP $MAINPID                                                                          ExecStop=/bin/kill-s QUIT $MAINPID                                                                                            Private Tmp=true 

[Install] 
WantedBy=multi-user.target

2.systemd重新识别此单元文件

通常执行命令:

 systemctl daemon-reload

3.设置启动、重启、随机启动

这样就可以使用systemd来管理nginx启动、重启、随机启动等,指令如下:

  • 25
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值