Install Nginx in Linux

Nginx是一款轻量级的Web服务器、反向代理服务器,由于它的内存占用少,启动极快,高并发能力强,在互联网项目中广泛应用。

1.yum 安装 nginx

javascript 复制代码
[root@VM-8-7-centos nginx]# yum install -y nginx
Loaded plugins: fastestmirror, langpacks
Repository epel is listed more than once in the configuration
Loading mirror speeds from cached hostfile
No package nginx available.
Error: Nothing to do

参考了一些方法:

-通过 epel-release 额外软件包

javascript 复制代码
yum install epel-release
yum clean all
yum makecache
yum install nginx -y
  • 通过新增yum 源
javascript 复制代码
vi /etc/yum.repos.d/nginx.repo

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1

都没有成功 o(╥﹏╥)o

2.手动安装

安装依赖项

在开始安装Nginx之前,首先需要安装一些依赖项,以确保Nginx编译和运行正常。打开终端并执行以下命令:

2.1 安装必要的工具和库,以支持Nginx的编译和运行
javascript 复制代码
yum install -y wget gcc-c++ pcre-devel zlib-devel openssl-devel
2.2 下载Nginx 并解压

从Nginx官网下载最新的稳定版本。下载链接https://nginx.org/en/download.html

javascript 复制代码
# 例如,下载Nginx 1.21.0版本
wget https://nginx.org/download/nginx-1.21.0.tar.gz

# 并解压
tar -zxvf nginx-1.21.0.tar.gz
2.3 编译和安装
bash 复制代码
cd nginx-1.24.0

# 编译前的配置和依赖检查
./configure

# 编译安装
make && make install

Nginx安装完成后,默认自动创建 /usr/local/nginx 目录,并创建必要的文件和目录,包括配置文件、日志文件、HTML文件等。

2.4 防火墙设置

如果您的系统启用了防火墙,需要关闭防火墙

bash 复制代码
# 查看防火墙状态
systemctl status firewalld

# 关闭防火墙
systemctl stop firewalld

# 开机禁用防火墙
systemctl disable firewalld

3. 启动Nginx

3.1 手动启动 与 关闭
python 复制代码
# 进入Nginx的安装目录:
cd /usr/local/nginx/sbin

# 启动Nginx服务器:
./nginx

启动后 通过浏览器访问您的服务器的IP地址或域名, 如下则来验证Nginx已正常工作。

python 复制代码
# 关闭
/usr/local/nginx/sbin/nginx -s stop
3.2 配置 Nginx 为系统服务

将 Nginx 制作成系统服务让你无需手动到 Nginx 安装目录下执行命令来启动它,而是系统会在开机时自动启动 Nginx,让启动过程更加方便和自动化。

配置 Nginx 服务文件

在 /etc/systemd/system/ 目录下创建一个新的服务文件,例如 nginx.service:

python 复制代码
vi /etc/systemd/system/nginx.service

在打开的文件中,添加以下内容:

javascript 复制代码
[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 stop
PrivateTmp=true

[Install]
WantedBy=multi-user.target

执行以下命令重新加载 systemd 配置文件:

javascript 复制代码
systemctl daemon-reload

执行以下命令启动 Nginx 服务:

javascript 复制代码
systemctl start nginx

现在,Nginx 将作为系统服务在后台运行。

3.3 设置开机自启动
bash 复制代码
# 开机自启动
systemctl enable nginx

# 检查 Nginx 状态
systemctl status nginx


# 停止 Nginx 服务
systemctl stop nginx

# 重启 Nginx 服务
systemctl restart nginx
3.4 卸载 Nginx

如果需要卸载Nginx,您可以执行以下步骤:

python 复制代码
# 停止 Nginx 服务:
systemctl stop nginx

# 确定Nginx的安装位置:
whereis nginx

# 删除Nginx安装目录:
rm -rf /usr/local/nginx

# 查找并删除相关文件:
find / -name nginx

这将搜索文件系统中所有包含 "nginx" 的文件名,并且你可以根据需要删除这些文件。

完成以上步骤后,Nginx将被完全卸载。

相关推荐
极客小张4 分钟前
基于正点原子Linux开发板的智能监控与家电控制系统设计:深度解析Video4Linux和TCP/IP技术栈
linux·运维·c++·物联网·网络协议·tcp/ip·算法
sunxunyong5 分钟前
Linux 删除文件不释放空间问题处理
大数据·linux·运维·服务器
只对您心动1 小时前
【C高级】有关shell脚本的一些练习
linux·c语言·shell·脚本
lldhsds1 小时前
linux下的分布式Minio部署实践
linux·minio·分布式对象存储
OH五星上将2 小时前
OpenHarmony(鸿蒙南向开发)——小型系统内核(LiteOS-A)【内核通信机制】上
linux·嵌入式硬件·harmonyos·openharmony·鸿蒙开发·liteos-a·鸿蒙内核
DC_BLOG3 小时前
IPv6(四)
运维·服务器·网络·ip
shelby_loo3 小时前
通过 Docker 部署 MySQL 服务器
服务器·mysql·docker
ZBzibing3 小时前
[游戏技术]L4D服务器报错解决
服务器·游戏
沈艺强3 小时前
伊犁linux 创建yum 源过程
linux·运维·服务器
拾光师3 小时前
linux命令行快捷键
linux·运维·服务器