论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com
»
论坛
›
物联网
›
物联网
›
Nginx在Linux中的最小化安装方式
Nginx在Linux中的最小化安装方式
用户国营
金牌会员
|
2025-1-21 11:32:41
|
显示全部楼层
|
阅读模式
楼主
主题
990
|
帖子
990
|
积分
2970
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
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 # 压缩包位置
复制代码
你可以将找到的这些文件都删除了。如许就算卸载完成了。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
用户国营
金牌会员
这个人很懒什么都没写!
楼主热帖
Beta 阶段事后分析
iOS全埋点解决方案-APP和H5打通 ...
Ubuntu22.04+ROS2中实现Moveit2控制gaz ...
Android studio实现网上订餐app
mysql主从搭建
完整版彻底卸载SQL Server2019
分布式锁
复杂「场景」数据导入导出
关键容灾技能比较
【云原生】-如何搭建配置Docker私有仓 ...
标签云
AI
运维
CIO
存储
服务器
浏览过的版块
SQL-Server
程序人生
网络安全
分布式数据库
Oracle
DevOps与敏捷开发
快速回复
返回顶部
返回列表