ToB企服应用市场:ToB评测及商务社交产业平台

标题: Nginx在Linux中的最小化安装方式 [打印本页]

作者: 用户国营    时间: 2025-1-21 11:32
标题: Nginx在Linux中的最小化安装方式
1. 安装依靠

必要安装的东西:

使用以下命令来安装这些依靠:
  1. 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​



这里我直接使用:
  1. wget https://nginx.org/download/nginx-1.26.2.tar.gz
复制代码
将nginx压缩包下载到了Linux服务器上。下载到哪个目录本身决定。
3. 解压缩下载好的nginx压缩包

这里我使用tar​来举行解压缩:
  1. tar -zxvf nginx-1.26.2.tar.gz
复制代码
4. 编译和安装

切换到刚才解压缩的nginx包中:
  1. cd nginx-1.26.2
复制代码
举行configure利用:
  1. sudo ./configure
  2. # 可以使用 --help 选项来查看怎样configure。里面有指定安装目录之类的东西,建议还是不要改,不然到时候很容易忘记
  3. # 这里我需要使用OpenSSL,因此加上了 --with-http_ssl_module
  4. sudo ./configure --with-http_ssl_module
复制代码
编译并安装:
  1. sudo make && sudo make install
复制代码
接下来就是等待上面这条命令的完成。如果以root的身份登录那么可以忽略sudo。
5. 关闭防火墙

  1. # 查看防火墙状态
  2. systemctl status firewalld
  3. # 关闭防火墙
  4. systemctl stop firewalld
  5. # 开机禁用防火墙
  6. systemctl disable firewalld
复制代码
6. 启动nginx

  1. cd /usr/local/nginx/sbin/
  2. sudo ./nginx
复制代码
7. 将nginx注册为一个服务

  1. sudo vim /etc/systemd/system/nginx.service
复制代码
填入以下内容:
  1. [Unit]
  2. Description=Nginx HTTP Server
  3. After=network.target
  4. [Service]
  5. Type=forking
  6. ExecStart=/usr/local/nginx/sbin/nginx
  7. ExecReload=/usr/local/nginx/sbin/nginx -s reload
  8. ExecStop=/usr/local/nginx/sbin/nginx -s quit
  9. PrivateTmp=true
  10. [Install]
  11. WantedBy=multi-user.target
复制代码
执行以下命令来重新加载服务的文件:
  1. sudo systemctl daemon-reload
复制代码
然后我们就可以使用:
  1. # 如果前面启动了nginx,那么可能会导致这里启动失败
  2. # 可以重启看看,或者把原来的nginx彻底关掉,使用nginx -s [quit | stop]
  3. sudo systemctl start nginx # 启动nginx
  4. sudo systemctl restart nginx # 重启nginx
  5. # 这里实际上就是使用nginx -s reload命令重新加载了一遍配置文件
复制代码
来启动nginx服务。使用以下命令查看nginx服务的状态:
  1. sudo systemctl status nginx
复制代码
如果你想要nginx开机自启动,那么就运行以下命令:
  1. sudo systemctl enable nginx
复制代码
8. 卸载不想要的依靠包

nginx的默认编译链接方式是静态链接。
我们刚才为了安装nginx下载了一些可能平时用不上的包,这里可以将其删除,因为编译已经完成了,背面已经不必要用到这些包了(除非你确实必要使用这些包)。
这里我不想要的是:

使用以下命令将其删除:
  1. sudo yum remove -y openssl-devel zlib-devel pcre-devel
复制代码
这几个东西我卸载的时候,空间大概是16MB,各位以为这个空间就让它占着也是没有太大影响的。这里我遵循最小化的原则,将没有须要的东西全部删掉。
还有原本的nginx压缩包息争压缩后的包也不再被必要,解压缩后的是背面很少用得上的,建议删除。
nginx的压缩包建议保留,因为背面出问题你还可以来看看源码之类的东西。
9. 卸载nginx

where is nginx​可以查看到nginx的安装目录。
停止nginx:
  1. /usr/local/nginx/sbin/nginx -s [quit | stop]
  2. # 或者以服务的方式停止
  3. sudo systemctl stop nginx
复制代码
选择quit​是优雅停止,而使用stop​是立刻停止。
然后删除nginx安装目录下的所有内容:
  1. # 先查看nginx在哪个目录
  2. whereis nginx
  3. sudo rm -rf /path/to/your/nginx
  4. # 或者直接使用以下命令
  5. sudo rm -rf $(whereis nginx | awk '${print $2}')
复制代码
然后在文件体系中搜索与nginx干系的文件:
  1. find / -name *nginx*
复制代码
我这里只找出了:
  1. [aderversa@localhost system]$ sudo find / -name nginx*
  2. /etc/systemd/system/nginx.service # 注册服务所使用到的文件
  3. /etc/systemd/system/multi-user.target.wants/nginx.service # 实际上就是一个指向上面那个文件的软链接
  4. [aderversa@localhost system]$ sudo find / -name *nginx
  5. /home/aderversa/software.d/nginx # 压缩包位置
复制代码
你可以将找到的这些文件都删除了。如许就算卸载完成了。


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4