nginx
添加yum源并安装
-
首先,安装 EPEL (Extra Packages for Enterprise Linux) 仓库。这是一个由 Fedora 项目提供的免费扩展软件包仓库,其中包含许多有用的软件包。
sudo yum install epel-release ```
-
接下来,导入 Nginx 的官方 GPG 密钥,以便验证安装包的完整性和来源:
sudo rpm --import https://nginx.org/keys/nginx_signing.key ```
-
创建一个新的
/etc/yum.repos.d/nginx.repo
文件,并添加以下内容:[nginx] name=nginx repo baseurl=https://nginx.org/packages/centos/7/$basearch/ gpgcheck=1 enabled=1 gpgkey=https://nginx.org/keys/nginx_signing.key module_hotfixes=true ``` 这将配置 CentOS 7 使用 Nginx 提供的官方仓库。
-
保存并关闭文件。然后,清除 Yum 缓存并更新软件包列表:
sudo yum clean all sudo yum makecache ```
-
现在,你可以安装 Nginx 1.23:
sudo yum install nginx-1.23.0 ``` 如果该版本不可用,请使用以下命令搜索可用版本:
sudo yum --showduplicates list nginx
然后,根据搜索结果,使用类似于上面的命令安装特定版本。
-
安装完成后,启动 Nginx 并将其设置为开机启动:
sudo systemctl start nginx sudo systemctl enable nginx ```
卸载nginx
在 CentOS 7 上卸载 Nginx,你可以按照以下步骤进行操作:
- 停止 Nginx 服务:
sudo systemctl stop nginx ```
- 确认 Nginx 服务已停止:
sudo systemctl status nginx ``` 确保输出中显示 "inactive" 或 "dead" 状态。
- 卸载 Nginx 软件包:
sudo yum remove nginx ``` 这将卸载 Nginx 及其相关的软件包。
- 删除 Nginx 配置和日志文件:
sudo rm -rf /etc/nginx sudo rm -rf /var/log/nginx ```
- 删除 Nginx 的系统服务文件:
sudo rm -f /usr/lib/systemd/system/nginx.service ```
完成上述步骤后,Nginx 应该已成功从 CentOS 7 系统中卸载。你可以通过运行 nginx -v
命令来验证 Nginx 是否已被完全卸载。如果命令返回 "command not found" 或类似的消息,则表示 Nginx 已成功卸载。
请注意,上述步骤仅适用于通过 yum 包管理器安装的默认 Nginx 软件包。如果你使用其他方式安装了 Nginx,例如从源代码编译安装或使用第三方存储库,可能需要采取不同的卸载方法。
CentOS 7 上配置 Nginx
-
安装 Nginx:
sudo yum install nginx ```
-
启动 Nginx 服务:
sudo systemctl start nginx ```
-
配置 Nginx:
-
Nginx 的主要配置文件位于
/etc/nginx/nginx.conf
。你可以使用文本编辑器(如 vi)打开该文件进行编辑:sudo vi /etc/nginx/nginx.conf
在配置文件中,你可以修改 Nginx 的全局设置、HTTP 设置和其他设置,根据你的需求进行配置。
-
通常,你会在主配置文件中找到一个名为
http
的块,其中包含server
块。在server
块中,你可以定义虚拟主机和相关的配置。例如,你可以指定监听的端口、域名、代理规则等。 -
保存并关闭配置文件。
-
-
检查配置文件是否有语法错误:
sudo nginx -t ``` 如果没有错误,会显示 `nginx: configuration file /etc/nginx/nginx.conf test is successful`。
-
重新加载 Nginx 配置:
sudo systemctl reload nginx ```
此外,你还可以根据自己的需求进行更高级的配置,例如添加 SSL/TLS 证书、配置反向代理、负载均衡等。这些配置通常在虚拟主机的 server
块中进行。你可以参考 Nginx 的官方文档(https://nginx.org/en/docs/)以获取更详细的配置信息和示例。
请记住,在进行任何更改之前,备份原始的 Nginx 配置文件,并谨慎地编辑和测试配置,以确保正确性和可靠性。
nginx.conf文件标准格式
Nginx 的主要配置文件是 nginx.conf
,它位于 /etc/nginx/nginx.conf
目录下。这个文件包含了 Nginx 的全局配置和 HTTP 配置。
以下是一个示例的 nginx.conf
文件的结构和说明:
# 全局配置
user nginx; # Nginx 进程运行的用户
worker_processes auto; # Nginx 工作进程的数量,"auto" 表示根据 CPU 核心数自动设置
error_log /var/log/nginx/error.log; # 错误日志文件的路径
pid /var/run/nginx.pid; # Nginx 主进程的 PID 文件路径
# 事件模块的配置
events {
worker_connections 1024; # 每个工作进程的最大连接数
}
# HTTP 模块的配置
http {
include /etc/nginx/mime.types; # 包含 MIME 类型配置文件
# 默认类型设置
default_type application/octet-stream;
# 日志格式
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main; # 访问日志文件路径和使用的日志格式
sendfile on; # 启用 sendfile 机制以提高文件传输效率
tcp_nopush on; # 启用 TCP_NOPUSH
# 虚拟主机的配置
server {
listen 80; # 监听的端口号
server_name example.com; # 虚拟主机的域名
location / {
root /usr/share/nginx/html; # 静态文件的根目录
index index.html index.htm; # 默认的索引文件
}
error_page 404 /404.html; # 自定义的 404 错误页面
# 其他配置项...
}
# 其他虚拟主机的配置...
}
这只是一个基本的示例,实际的 nginx.conf
文件可能会更复杂,包含更多的配置项和虚拟主机。你可以根据需要进行修改和扩展。
此外,Nginx 还支持通过 include
指令将其他配置文件包含到主配置文件中,以便更好地组织和管理配置。例如,你可以在主配置文件中使用 include
指令引入额外的虚拟主机配置文件。
请注意,在对 nginx.conf
文件进行更改后,你需要使用 nginx -t
命令检查配置文件的语法是否正确,并使用 nginx -s reload
命令重新加载配置文件,使更改生效。
更多关于 Nginx 配置文件的详细信息和配置选项,请参考 Nginx 的官方文档(https://nginx.org/en/docs/)。