0


史上最详细最全保姆级教程Centos在线和离线部署安装nginx

创作不易,觉得博主文章对您有帮助,求求各位道友点个关注+收藏+点赞,鼓励一下我,非常非常感谢!您的鼓励是我最大的动力,我也会将更多技术文章毫无保留的跟大家分享,希望大家能一起进步!

一、在线安装nginx

1.添加Nginx到YUM源

sudo rpm -Uvh <http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm>

2.安装nginx

在CentOS 7 服务器中使用yum命令从Nginx源服务器中获取来安装Nginx

sudo yum install -y nginx

3.启动nginx

刚安装的Nginx不会自行启动,需要执行命令运行nginx:

sudo systemctl start nginx.service

4.访问页面

验证是否安装成功

启动成功之后,因为其默认为80端口,直接在浏览器输入IP地址,直接回车访问即可:

5.注意

访问 nginx 主页时,关闭防火墙,或者开放 80 端口:

5.1关闭防火墙:

# 关闭防火墙
systemctl stop firewalld.service
# 禁止防火墙开启自启
systemctl disable firewalld.service

5.2或者开放80端口

firewall-cmd --add-port=80/tcp --permanent
# 重启防火墙
firewall-cmd --reload

二、离线安装

1.前提条件是在离线环境下

为确保虚拟机处于离线环境,请将虚拟机的网络调整为仅与主机连接,如下图:

重新启动虚拟机,联网测试:

ping www.baidu.com

如果出现以下内容,说明虚拟机处于离线状态。

2.离线安装前置技术

gcc、perl以及相关的依赖openssl、pcre2、zlib

2.1.gcc安装

请确保已安装 gcc,查看 gcc 版本信息:

gcc -v

如果终端打印 gcc 相关版本信息,说明已安装 gcc,否则请安装 gcc:

安装 gcc 涉及到的所有依赖统一放到

/opt/rpms/gcc/

目录下,为了避免其它无关依赖导致 gcc 安装失败,请确保

/opt/rpms/gcc/

是一个空目录。

下载 gcc 依赖以及相关依赖:CentOS Mirror

具体需要什么依赖,需要根据自己使用的centos版本在镜像中进行下载,在安装时需要根据系统提示,需要什么依赖以及哪个版本的依赖就从镜像中下载哪个依赖(如图为centos7.9需要用到的依赖):

将上述所有依赖上传至

/opt/rpms/gcc/

目录中,并执行以下命令

yum -y install /opt/rpms/gcc/*.rpm

2.2.perl安装

请确保已经安装 perl 环境,查看 perl 版本:

perl -v

如果终端打印 perl 相关版本信息,说明已安装 perl:

否则,请安装 perl,下载地址:Perl Download - www.perl.org

将其上传至

/opt/sources

目录中,并执行以下命令:

tar -zxvf /opt/sources/perl-5.38.2.tar.gz -C /opt
cd /opt/perl-5.38.2
./Configure -des
make && make install

2.3.其他相关依赖

下载 openssl、pcre2 以及 zlib 源代码文件,并将这些文件上传至

/opt/sources

目录中。

openssl 下载地址:[ Downloads ] - /source/index.html

pcre2 下载地址:Releases · PCRE2Project/pcre2 · GitHub

zlib 下载地址:zlib Home Site。注意 zlib 版本需要 1.1.3+

解压 openssl、pcre2 以及 zlib:

tar -zxvf /opt/sources/openssl-3.2.0.tar.gz -C /opt
tar -zxvf /opt/sources/pcre2-10.42.tar.gz -C /opt
tar -zxvf /opt/sources/zlib-1.3.tar.gz -C /opt

3.正式安装nginx

3.1.nginx 下载

下载地址:nginx: download

3.2.解压nginx的tar.gz包并编译

将上述压缩包上传至

/opt/sources/

目录中,执行以下命令:

tar -zxvf /opt/sources/nginx-1.24.0.tar.gz -C /opt
cd /opt/nginx-1.24.0

# prefix:指定安装目录,为了方便使用,这里选择/usr
# with-pcre:pcre2的根目录(上述解压的pcre2-5.38.2.tar.gz)
# with-openssl:openssl的根目录(上述解压的openssl-3.2.0.tar.gz)
# with-zlib:zlib的根目录(上述解压的zlib-1.3.tar.gz)
./configure --with-http_ssl_module --prefix=/usr --with-pcre=/opt/pcre2-10.42 --with-openssl=/opt/openssl-3.2.0 --with-zlib=/opt/zlib-1.3
make && make install

3.3.修改配置文件

NGINX_HOME

代表 nginx 的安装目录,也就是上述构建 nginx 时指定的 prefix 参数。

默认情况下,配置文件位于

NGINX_HOME/conf/nginx.conf

########### 每个指令必须有分号结束。#################
#user administrator administrators;  #配置用户或者组,默认为nobody nobody。
#worker_processes 2;  #允许生成的进程数,默认为1
#pid /nginx/pid/nginx.pid;   #指定nginx进程运行文件存放地址
error_log log/error.log debug;  #制定日志路径,级别。这个设置可以放入全局块,http块,server块,级别以此为:debug|info|notice|warn|error|crit|alert|emerg
events {
    accept_mutex on;   #设置网路连接序列化,防止惊群现象发生,默认为on
    multi_accept on;  #设置一个进程是否同时接受多个网络连接,默认为off
    #use epoll;      #事件驱动模型,select|poll|kqueue|epoll|resig|/dev/poll|eventport
    worker_connections  1024;    #最大连接数,默认为512
}
http {
    include       mime.types;   #文件扩展名与文件类型映射表
    default_type  application/octet-stream; #默认文件类型,默认为text/plain
    #access_log off; #取消服务日志    
    log_format myFormat '$remote_addr–$remote_user [$time_local] $request $status $body_bytes_sent $http_referer $http_user_agent $http_x_forwarded_for'; #自定义格式
    access_log log/access.log myFormat;  #combined为日志格式的默认值
    sendfile on;   #允许sendfile方式传输文件,默认为off,可以在http块,server块,location块。
    sendfile_max_chunk 100k;  #每个进程每次调用传输数量不能大于设定的值,默认为0,即不设上限。
    keepalive_timeout 65;  #连接超时时间,默认为75s,可以在http,server,location块。

    upstream mysvr {   
      server 127.0.0.1:7878;
      server 192.168.80.101:3333 backup;  #热备
    }
    error_page 404 https://www.baidu.com; #错误页
    server {
        keepalive_requests 120; #单连接请求上限次数。
        listen       4545;   #监听端口
        server_name  127.0.0.1;   #监听地址       
        location  ~*^.+$ {       #请求的url过滤,正则匹配,~为区分大小写,~*为不区分大小写。
           #root path;  #根目录
           #index vv.txt;  #设置默认页
           proxy_pass  http://mysvr;  #请求转向mysvr 定义的服务器列表
           deny 127.0.0.1;  #拒绝的ip
           allow 163.28.7.63; #允许的ip           
        } 
    }
}

3.4.启动nginx

# 默认配置文件启动
nginx
# 指定配置文件启动
nginx -c /etc/nginx.conf

3.5.查看 nginx 进程

NGINX_HOME

代表 nginx 的安装目录,也就是上述构建 nginx 时指定的 prefix 参数。

如果使用其它配置文件启动 nginx 时,出现以下错误:

请将

NGINX_HOME/conf/mime.types

文件拷贝到与该配置文件同一个位置

或者修改该配置文件:

将红色框框的内容更改为绝对路径:

NGINX_HOME/conf/mime.types

3.6.停止 nginx

# 立即停止
nginx -s stop
# 完成当前工作后停止
nginx -s quit

使用更改后的配置文件重新启动 nginx:

nginx -s reload
# 指定配置文件
nginx -s reload -c /etc/nginx.conf

检查 nginx 配置文件是否正确

nginx -t
# 指定配置文件
nginx -t -c /etc/nginx.conf

3.7.访问 nginx 主页

http://[ip]:80

注意:访问 nginx 主页时,请关闭防火墙,或者开放 80 端口:

关闭防火墙

# 关闭防火墙
systemctl stop firewalld.service
# 禁止防火墙开启自启
systemctl disable firewalld.service

或者开发80端口

firewall-cmd --add-port=80/tcp --permanent
# 重启防火墙
firewall-cmd --reload

三、卸载 nginx

1.停止 nginx

nginx -s quit

2.删除 nginx 根目录

rm -rf /opt/nginx-1.24.0

3.查看其余的 nginx 相关文件

find / -name nginx

4.删除上述命令中查找

rm -rf /usr/sbin/nginx

博主是数据科学与大数据技术专业的,需要交流技术,解决大数据技术问题或者对大数据技术感兴趣的同学、朋友可以加:

QQ技术交流群:837713217

标签: centos nginx linux

本文转载自: https://blog.csdn.net/jshxk/article/details/138518870
版权归原作者 鸿神之星 所有, 如有侵权,请联系我们删除。

“史上最详细最全保姆级教程Centos在线和离线部署安装nginx”的评论:

还没有评论