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包中:
举行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干系的文件:
我这里只找出了:
- [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 # 压缩包位置
复制代码 你可以将找到的这些文件都删除了。如许就算卸载完成了。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |