当前位置: 首页 > article >正文

Nginx在Linux中的最小化安装方式

1. 安装依赖

需要安装的东西:

  • wget​,方便我们下载Nginx的包。如果是在Windows下载,然后使用SFTP上传到服务器中,那么可以不安装这个软件包。
  • gcc g++​,Nginx是使用C/C++开发的服务器,等一下安装会用到其中的一些工具,因此这两个软件是必要的。
  • openssl-devel​,Nginx能够提供HTTPS(HTTP+SSL),猜测它是使用OpenSSL来开发的,因此需要这么个玩意。
  • zlib-devel​,一个关于数据压缩的开发库,猜测Nginx应该使用了这么个东西来压缩HTTP请求的某些数据。
  • pcre-devel​,有关正则表达式的库,Nginx应该也使用到了。
  • tar​,用于解压缩下载的nginx压缩包。

使用以下命令来安装这些依赖:

sudo yum install -y wget gcc g++ openssl-devel zlib-devel pcre-devel tar

2. 下载nginx压缩包

若不是纯Linux,即Linux作为服务器或者虚拟机被Windows之类的主机远程连接,那么完全可以在Windows中下载好nginx压缩包之后,使用SFTP或者scp命令将这个压缩包上传到服务器中。

若是纯Linux,你只有一台Linux主机且这台主机没有图形化界面(你连手机都没有的情况)。那只能是使用curl​命令来看看https://nginx.org/en/download.html​这个页面中有哪些是下载链接了。

不开玩笑了,这里我下载的nginx压缩包的链接是https://nginx.org/download/nginx-1.26.2.tar.gz

这里我直接使用:

wget https://nginx.org/download/nginx-1.26.2.tar.gz

将nginx压缩包下载到了Linux服务器上。下载到哪个目录自己决定。

3. 解压缩下载好的nginx压缩包

这里我使用tar​来进行解压缩:

tar -zxvf nginx-1.26.2.tar.gz

4. 编译和安装

切换到刚才解压缩的nginx包中:

cd nginx-1.26.2

进行configure操作:

sudo ./configure

# 可以使用 --help 选项来查看怎样configure。里面有指定安装目录之类的东西,建议还是不要改,不然到时候很容易忘记
# 这里我需要使用OpenSSL,因此加上了 --with-http_ssl_module
sudo ./configure --with-http_ssl_module

编译并安装:

sudo make && sudo make install

接下来就是等待上面这条命令的完成。如果以root的身份登录那么可以忽略sudo。

5. 关闭防火墙

# 查看防火墙状态
systemctl status firewalld

# 关闭防火墙
systemctl stop firewalld

# 开机禁用防火墙
systemctl disable firewalld

6. 启动nginx

cd /usr/local/nginx/sbin/

sudo ./nginx

7. 将nginx注册为一个服务

sudo vim /etc/systemd/system/nginx.service

填入以下内容:

[Unit]
Description=Nginx HTTP Server
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true

[Install]
WantedBy=multi-user.target

执行以下命令来重新加载服务的文件:

sudo systemctl daemon-reload

然后我们就可以使用:

# 如果前面启动了nginx,那么可能会导致这里启动失败
# 可以重启看看,或者把原来的nginx彻底关掉,使用nginx -s [quit | stop]
sudo systemctl start nginx # 启动nginx

sudo systemctl restart nginx # 重启nginx
# 这里实际上就是使用nginx -s reload命令重新加载了一遍配置文件

来启动nginx服务。使用以下命令查看nginx服务的状态:

sudo systemctl status nginx

如果你想要nginx开机自启动,那么就运行以下命令:

sudo systemctl enable nginx

8. 卸载不想要的依赖包

nginx的默认编译链接方式是静态链接。

我们刚才为了安装nginx下载了一些可能平时用不上的包,这里可以将其删除,因为编译已经完成了,后面已经不需要用到这些包了(除非你确实需要使用这些包)。

这里我不想要的是:

  • openssl-devel​;
  • zlib-devel​;
  • pcre-devel​;

使用以下命令将其删除:

sudo yum remove -y openssl-devel zlib-devel pcre-devel

这几个东西我卸载的时候,空间大概是16MB,各位觉得这个空间就让它占着也是没有太大影响的。这里我遵循最小化的原则,将没有必要的东西全部删掉。

还有原本的nginx压缩包和解压缩后的包也不再被需要,解压缩后的是后面很少用得上的,建议删除。

nginx的压缩包建议保留,因为后面出问题你还可以来看看源码之类的东西。

9. 卸载nginx

where is nginx​可以查看到nginx的安装目录。

停止nginx:

/usr/local/nginx/sbin/nginx -s [quit | stop]

# 或者以服务的方式停止
sudo systemctl stop nginx

选择quit​是优雅停止,而使用stop​是立即停止。

然后删除nginx安装目录下的所有内容:

# 先查看nginx在哪个目录
whereis nginx
sudo rm -rf /path/to/your/nginx

# 或者直接使用以下命令
sudo rm -rf $(whereis nginx | awk '${print $2}')

然后在文件系统中搜索与nginx相关的文件:

find / -name *nginx*

我这里只找出了:

[aderversa@localhost system]$ sudo find / -name nginx*
/etc/systemd/system/nginx.service # 注册服务所使用到的文件
/etc/systemd/system/multi-user.target.wants/nginx.service # 实际上就是一个指向上面那个文件的软链接

[aderversa@localhost system]$ sudo find / -name *nginx
/home/aderversa/software.d/nginx # 压缩包位置

你可以将找到的这些文件都删除了。这样就算卸载完成了。


http://www.kler.cn/a/509581.html

相关文章:

  • Social LSTM:Human Trajectory Prediction in Crowded Spaces | 文献翻译
  • OSPF小实验
  • Linux使用SSH连接GitHub指南
  • 递归40题!再见递归
  • flutter 常用UI组件
  • MQ消息队列
  • Net Core微服务入门全纪录(三)——Consul-服务注册与发现(下)
  • 2. 进阶关卡-Laagent:从零搭建你的Multi-Agent
  • DetKDS
  • 微服务学习-Nacos 作为注册中心使用
  • Transformer之Decoder
  • 上一次和英特尔的接触...
  • vim练级攻略(精简版)
  • HBase深度历险
  • 企业分类相似度筛选实战:基于规则与向量方法的对比分析
  • React+Cesium基础教程(001):创建基于React的Cesium项目及对Cesium进行基本配置
  • Zookeeper 核心知识深度解析:从选主到部署
  • python编程-OpenCV(图像读写-图像处理-图像滤波-角点检测-边缘检测)边缘检测
  • Visual Studio Code 使用 DeepSeek-V3 教程
  • NLP文档召回
  • 单片机数码管动态显示
  • Android SystemUI——CarSystemBar视图解析(十一)
  • springboot使用websocket
  • 什么是FPGA开发?
  • Java 接口安全指南
  • TOSUN同星TsMaster使用入门——3、使用系统变量及c小程序结合panel面板发送报文