【从零搭建微服务服务器】CentOS8.2 安装 Nginx

本文详细介绍了在腾讯云CentOS8.2系统上安装Nginx1.18.0的步骤,包括安装必要的插件、下载、解压、配置、编译和启动,以及解决遇到的特定版本编译问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、环境说明

服务器:腾讯云服务器 4核 32GB 20Mbps
系统版本: CentOS 8.2 64位
Nginx版本:1.18.0

二、安装流程

1、安装所需插件

1.1、安装gcc

查看gcc版本

gcc -v

一般云服务器里自带gcc,查看版本显示版本信息,则无需重复安装。
查看gcc版本

yum -y install gcc

安装gcc

1.2、安装pcre、pcre-devel

yum install -y pcre pcre-devel

1.3、安装zlib

yum install -y zlib zlib-devel

1.4、安装openssl

yum install -y openssl openssl-devel

2、下载安装Nginx

按习惯选择临时存放安装包的目录,例如可把 /usr/src 作为存放安装包的目录。

2.1、下载安装包

cd /usr/src

# 在服务器内下载Nginx安装包
wget http://nginx.org/download/nginx-1.18.0.tar.gz

下载nginx安装包

2.2、解压

解压安装包到指定目录(如指定目录不存在则需要先提前用 mkdir 创建)
博主习惯把 /usr/local 作为软件安装路径

# 创建文件夹
mkdir -p /usr/local/nginx
# 解压安装包到指定目录
tar -zxvf  nginx-1.18.0.tar.gz -C /usr/local/nginx

2.3、构建编译

  1. 配置安装环境
# 进入解压完成的nginx目录
cd /usr/local/nginx/nginx-1.18.0
# 配置软件包的安装环境
./configure --with-http_ssl_module
  1. 编译
# 编译
make
# 编译安装
make install

make编译完成后,nginx目录会多出objs文件夹。

编译完成的nginx目录

make install编译安装后,nginx目录路径:/usr/local/nginx

nginx目录

2.4、修改nginx配置

nginx配置的目录路径:/usr/local/nginx/conf,nginx.conf 就是基础配置文件,建议备份后再编辑。

配置文件

# 修改nginx配置
vim /usr/local/nginx/nginx-1.18.0/conf/nginx.conf

按照服务器的端口使用情况来进行配置,配置完成后ESC键,wq!强制保存并退出。
配置文件

3、启动Nginx

# 附带配置启动
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

4、查看Nginx服务是否启动成功

ps -ef | grep nginx

查看nginx服务是否启动成功

5、访问Nginx默认页面

浏览器地址栏直接输入服务器Ip,若显示此页面说明安装和配置都没问题。
welcome

至此,安装Nginx完成

踩坑补充(可忽略)

之前因为尝试使用nginx-1.9.9的版本较高,make编译时各种报错,最后多次尝试无法解决问题,将nginx的版本降低。下面简单记录问题解决方案。
make错误

  1. 在Makefile文件中, 找到 -Werrori 并删掉,修改后保存文件。

如本文中在 /usr/local/nginx/nginx-1.9.9/objs/Makefile
可搜索文本字符 “-Wpointer”,找到该行

vim /usr/local/nginx/nginx-1.9.9/objs/Makefile

去除-Werror
去除异常警告

  1. 查看 ngx_user.c 源代码,找到"cd.current_salt[0] = ~salt[0]"这一行代码,把它注释,修改后保存文件。

如本文在/usr/local/nginx/nginx-1.9.9/src/os/unix/ngx_user.c

vim /usr/local/nginx/nginx-1.9.9/src/os/unix/ngx_user.c

注释ngx源代码
注释完成

设置nginx服务开机自启

使用Systemd

  1. 创建服务单元文件
sudo vi /etc/systemd/system/nginx.service
  1. 编辑配置文件
[Unit]
Description=The NGINX HTTP and reverse proxy server
After=syslog.target network.target

[Service]
Type=forking
ExecStartPre=/usr/local/nginx/sbin/nginx -t
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -s reload -c /usr/local/nginx/conf/nginx.conf
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target
  1. 开启自启动
sudo systemctl enable nginx.service
  1. 常见服务命令
命令详解
systemctl daemon-reload修改后重新加载 systemd 程序的配置文件
systemctl start nginx启动服务
systemctl restart nginx重新启动服务
systemctl stop nginx停止服务
systemctl status nginx查看服务当前状态
systemctl enable nginx设置开机自启动
systemctl disable nginx停止开机自启动
systemctl list-units --type=service查看所有已启动的服务
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值