Linux系统安装和卸载nginx

以下介绍的是以源码编译安装方式:

✅下载

官方地址:https://nginx.org/en/download.html

123云盘地址:https://www.123pan.com/s/4brbVv-odmWA.html

image-20240626220132182

✅安装

1.上传安装包nginx-1.20.2.tar.gz,并解压

tar -zxvf nginx-1.20.2.tar.gz

2.使用configure进行安装,进入解压后目录cd nginx-1.20.2/,找到configure文件

./configure --prefix=/usr/local/nginx  # --prefix=/usr/local/nginx 指安装路径是/usr/local/nginx

image-20240205221004778

如果出现下面警告或报错,说明缺少C环境,则安装gcc

checking for OS

  • Linux 3.10.0-693.el7.x86_64 x86_64
    checking for C compiler … not found
    ./configure: error: C compiler cc is not found
#安装gcc
yum install -y gcc

如果出现下面报错,则安装对应的perl库

/configure: error: the HTTP rewrite module requires the PCRE library.
You can either disable the module by using --without-http_rewrite_module
option, or install the PCRE library into the system, or build the PCRE library
statically from the source with nginx by using --with-pcre= option.

#安装perl库
yum install -y pcre pcre-devel

如果出现下面报错,则安装对应的zlib库

./configure: error: the HTTP gzip module requires the zlib library.
You can either disable the module by using --without-http_gzip_module
option, or install the zlib library into the system, or build the zlib library
statically from the source with nginx by using --with-zlib= option.

#安装alib库
yum install -y zlib zlib-devel

3.编译安装,如果过程没有报错则执行下面命令,进行编译安装

make
make install

执行完后会发现指定安装位置出现nginx目录。

image-20240205222419702

✅启动nginx

进入安装好的目录 /usr/local/nginx/sbin

./nginx					    # 启动
./nginx -s stop			 	#快速停止
./nginx -s quit 			#优雅关闭,在退出前完成已经接受的连接请求
./nginx -s reload 			#重新加载配置

此时nginx启动等命令只能在sbin目录下使用,非常不便,可以将命令安装成系统服务,会非常方便。

✅安装成系统服务

1.创建服务脚本nginx.service,脚本内容如下,按ESC:wq保存文件。

vi /usr/lib/systemd/system/nginx.service
[Unit]
Description=nginx - web server
After=network.target remote-fs.target nss-lookup.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=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
ExecQuit=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true

[Install]
WantedBy=multi-user.target

2.重新加载系统服务即可完成

systemctl daemon-reload

3.管理nginx.service服务的命令

systemctl start nginx.service	    #启动nginx服务
systemctl stop nginx.service	 #关闭nginx服务
systemctl status nginx.service	   #查看nginx状态
systemctl enable nginx.service       #开机自启动
systemctl reload nginx.service        #重载配置文件

✅常见问题:80端口被占用了

netstat -ntlp|grep 80

kill -9 端口号即可,如果杀不死,可以试试下面命令

fuser -k 80/tcp

✅卸载

1.首先查看nginx的服务并且停止

systemctl status nginx   #查看nginx服务状态
systemctl stop nginx      #停止nginx服务

2.查找、删除nginx相关文件

  • 查看nginx相关文件:whereis nginx
  • find查找相关文件 find / -name nginx

3.依次删除find查找到的所有目录。

rm -rf /usr/sbin/nginx/***

4.最后使用yum清理依赖包

yum remove nginx

✅目录结构

├── client_body_temp                 # POST 大文件暂存目录
├── conf                             # Nginx所有配置文件的目录
│   ├── fastcgi.conf                 # fastcgi相关参数的配置文件
│   ├── fastcgi.conf.default         # fastcgi.conf的原始备份文件
│   ├── fastcgi_params               # fastcgi的参数文件
│   ├── fastcgi_params.default       
│   ├── koi-utf
│   ├── koi-win
│   ├── mime.types                   # 媒体类型
│   ├── mime.types.default
│   ├── nginx.conf                   #这是Nginx默认的主配置文件,日常使用和修改的文件
│   ├── nginx.conf.default
│   ├── scgi_params                  # scgi相关参数文件
│   ├── scgi_params.default  
│   ├── uwsgi_params                 # uwsgi相关参数文件
│   ├── uwsgi_params.default
│   └── win-utf
├── fastcgi_temp                     # fastcgi临时数据目录
├── html                             # Nginx默认站点目录
│   ├── 50x.html                     # 错误页面优雅替代显示文件,例如出现502错误时会调用此页面
│   └── index.html                   # 默认的首页文件
├── logs                             # Nginx日志目录
│   ├── access.log                   # 访问日志文件
│   ├── error.log                    # 错误日志文件
│   └── nginx.pid                    # pid文件,Nginx进程启动后,会把所有进程的ID号写到此文件
├── proxy_temp                       # 临时目录
├── sbin                             # Nginx 可执行文件目录
│   └── nginx                        # Nginx 二进制可执行程序
├── scgi_temp                        # 临时目录
└── uwsgi_temp                       # 临时目录

主要的目录是conf,html,及sbin。

  • conf目录放的是核心配置文件
  • html目录放的是静态页面
  • logs文件夹用于存放日志信息
  • sbin存放的是可执行文件,可以用 ./nginx启动nginx:

刚安装好的nginx.conf(去掉注释)如下:

worker_processes  1; #允许进程数量,建议设置为cpu核心数或者auto自动检测,注意Windows服务器上虽然可以启动多个processes,但是实际只会用其中一个

events {
    #单个进程最大连接数(最大连接数=连接数*进程数)
    #根据硬件调整,和前面工作进程配合起来用,尽量大,但是别把cpu跑到100%就行。
    worker_connections  1024;
}


http {
    #文件扩展名与文件类型映射表(是conf目录下的一个文件)
    include       mime.types;
    #默认文件类型,如果mime.types预先定义的类型没匹配上,默认使用二进制流的方式传输
    default_type  application/octet-stream;

    #sendfile指令指定nginx是否调用sendfile 函数(zero copy 方式)来输出文件,对于普通应用,必须设为on。如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络IO处理速度。
    sendfile        on;
    
     #长连接超时时间,单位是秒
    keepalive_timeout  65;

 #虚拟主机的配置
    server {
    #监听端口
        listen       80;
        #域名,可以有多个,用空格隔开
        server_name  localhost;

	#配置根目录以及默认页面
        location / {
            root   html;
            index  index.html index.htm;
        }

	#出错页面配置
        error_page   500 502 503 504  /50x.html;
        #/50x.html文件所在位置
        location = /50x.html {
            root   html;
        }
        
    }

}
  • 8
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小满@

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值