【01】nginx的安装、启动、升级

1. Nginx源码安装

环境准备

如果通过Nginx源码安装需要提前准备的内容:

GCC编译器

Nginx是使用C语言编写的程序,因此想要运行Nginx就需要安装一个编译工具。GCC就是一个开源的编译器集合,用于处理各种各样的语言,其中就包含了C语言。

使用命令yum install -y gcc来安装

安装成功后,可以通过gcc --version来查看gcc是否安装成功

PCRE

Nginx在编译过程中需要使用到PCRE库(perl Compatible Regular Expressoin 兼容正则表达式库),因为在Nginx的Rewrite模块和http核心模块都会使用到PCRE正则表达式语法。

可以使用命令yum install -y pcre pcre-devel来进行安装

安装成功后,可以通过rpm -qa pcre pcre-devel来查看是否安装成功

zlib

zlib库提供了开发人员的压缩算法,在Nginx的各个模块中需要使用gzip压缩,所以我们也需要提前安装其库及源代码zlib和zlib-devel

可以使用命令yum install -y zlib zlib-devel来进行安装

安装成功后,可以通过rpm -qa zlib zlib-devel来查看是否安装成功

OpenSSL

OpenSSL是一个开放源代码的软件库包,应用程序可以使用这个包进行安全通信,并且避免被窃听。

SSL:Secure Sockets Layer安全套接协议的缩写,可以在Internet上提供秘密性传输,其目标是保证两个应用间通信的保密性和可靠性。在Nginx中,如果服务器需要提供安全网页时就需要用到OpenSSL库,所以我们需要对OpenSSL的库文件及它的开发安装包进行一个安装。

可以使用命令yum install -y openssl openssl-devel来进行安装

安装成功后,可以通过rpm -qa openssl openssl-devel来查看是否安装成功

上述命令,一个个来的话比较麻烦,我们也可以通过一条命令来进行安装

yum install -y gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel进行全部安装。

方案一:Nginx的源码简单安装

(1)进入官网查找需要下载版本的链接地址,然后使用wget命令进行下载

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

(2)建议大家将下载的资源进行包管理

mkdir -p nginx/core
mv nginx-1.23.1.tar.gz nginx/core

(3)解压缩

tar -xzf nginx-1.23.1.tar.gz

(4)进入资源文件中,发现configure

./configure --prefix=/usr/local/nginx \
--sbin-path=/usr/local/nginx/sbin/nginx \
--modules-path=/usr/local/nginx/modules \
--conf-path=/usr/local/nginx/conf/nginx.conf \
--error-log-path=/usr/local/nginx/logs/error.log \
--http-log-path=/usr/local/nginx/logs/access.log \
--pid-path=/usr/local/nginx/logs/nginx.pid \
--lock-path=/usr/local/nginx/logs/nginx.lock \
--with-http_ssl_module \
--with-stream

(5)编译

make && make install

方案二:Nginx的源码复杂安装

这种方式和简单的安装配置不同的地方在第一步,通过./configure来对编译参数进行设置,需要我们手动来指定。那么都有哪些参数可以进行设置,接下来我们进行一个详细的说明。

PATH:是和路径相关的配置信息

with:是启动模块,默认是关闭的

without:是关闭模块,默认是开启的

我们先来认识一些简单的路径配置已经通过这些配置来完成一个简单的编译:

–prefix=PATH

指向Nginx的安装目录,默认值为/usr/local/nginx   

–sbin-path=PATH

指向(执行)程序文件(nginx)的路径,默认值为<prefix>/sbin/nginx

–modules-path=PATH

指向Nginx动态模块安装目录,默认值为<prefix>/modules

–conf-path=PATH

指向配置文件(nginx.conf)的路径,默认值为<prefix>/conf/nginx.conf

–error-log-path=PATH

指向错误日志文件的路径,默认值为<prefix>/logs/error.log

–http-log-path=PATH

指向访问日志文件的路径,默认值为<prefix>/logs/access.log

–pid-path=PATH

指向Nginx启动后进行ID的文件路径,默认值为<prefix>/logs/nginx.pid

–lock-path=PATH

指向Nginx锁文件的存放路径,默认值为<prefix>/logs/nginx.lock

要想使用可以通过如下命令

./configure --prefix=/usr/local/nginx \
--sbin-path=/usr/local/nginx/sbin/nginx \
--modules-path=/usr/local/nginx/modules \
--conf-path=/usr/local/nginx/conf/nginx.conf \
--error-log-path=/usr/local/nginx/logs/error.log \
--http-log-path=/usr/local/nginx/logs/access.log \
--pid-path=/usr/local/nginx/logs/nginx.pid \
--lock-path=/usr/local/nginx/logs/nginx.lock \
--with-http_ssl_module \
--with-stream

在使用上述命令之前,需要将之前服务器已经安装的nginx进行卸载,卸载的步骤分为三步骤:

步骤一:需要将nginx的进程关闭

./nginx -s stop

步骤二:将安装的nginx进行删除

rm -rf /usr/local/nginx

步骤三:将安装包之前编译的环境清除掉

make clean

2. Nginx服务器启停命令

[root@localhost nginx]# ./sbin/nginx -h
nginx version: nginx/1.16.1
Usage: nginx [-?hvVtTq] [-s signal] [-c filename] [-p prefix] [-g directives]

Options:
  # 显示帮助信息
  -?,-h         : this help
  # 打印版本号信息并退出
  -v            : show version and exit
  # 打印版本号信息和配置信息并退出
  -V            : show version and configure options then exit
  # 测试nginx的配置文件语法是否正确并退出
  -t            : test configuration and exit
  # 测试nginx的配置文件语法是否正确并列出用到的配置文件信息然后退出
  -T            : test configuration, dump it and exit
  # 在配置测试期间禁止显示非错误消息
  -q            : suppress non-error messages during configuration testing
  # 信号,后面可以跟 :
	# stop[快速关闭,类似于TERM/INT信号的作用]
	# quit[优雅的关闭,类似于QUIT信号的作用] 
	# reopen[重新打开日志文件类似于USR1信号的作用] 
	# reload[类似于HUP信号的作用]
  -s signal     : send signal to a master process: stop, quit, reopen, reload
  # 指定Nginx的prefix路径,(默认为: /usr/local/nginx/)
  -p prefix     : set prefix path (default: /usr/local/nginx/)
  # 指定Nginx的配置文件路径,(默认为: conf/nginx.conf)
  -c filename   : set configuration file (default: conf/nginx.conf)
  # 用来补充Nginx配置文件,向Nginx服务指定启动时应用全局的配置
  -g directives : set global directives out of configuration file

3. Nginx配置成系统服务

把Nginx应用服务设置成为系统服务,方便对Nginx服务的启动和停止等相关操作,具体实现步骤:

(1) 在/usr/lib/systemd/system目录下添加nginx.service,内容如下:

vim /usr/lib/systemd/system/nginx.service
[Unit]
Description=nginx web service
Documentation=http://nginx.org/en/docs/
After=network.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
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
PrivateTmp=true

[Install]
WantedBy=default.target

(2)添加完成后如果权限有问题需要进行权限设置

chmod 755 /usr/lib/systemd/system/nginx.service

(3)使用系统命令来操作Nginx服务


# 启动
systemctl start nginx
# 停止: 
systemctl stop nginx
# 重启: 
systemctl restart nginx
# 重新加载配置文件: 
systemctl reload nginx
# 查看nginx状态: 
systemctl status nginx
# 开机启动: 
systemctl enable nginx

4.Nginx命令配置到系统环境

vim /etc/profile.d/my.sh
# 添加如下内容
# nginx
export PATH=$PATH:/usr/local/nginx/sbin

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值