Amazon Linux 2 AMI安装Nginx

目标

源码安装Nginx,在Amazon Linux 2 AMI上面。

步骤

# 查看版本
cat /etc/os-release
NAME="Amazon Linux"
VERSION="2"
ID="amzn"
ID_LIKE="centos rhel fedora"
VERSION_ID="2"
PRETTY_NAME="Amazon Linux 2"
ANSI_COLOR="0;33"
CPE_NAME="cpe:2.3:o:amazon:amazon_linux:2"
HOME_URL="https://amazonlinux.com/"
# 由ID_LIKE可知Amazon Linux2类似与CentOS或红帽的Linux的
# 安装依赖
sudo yum install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel firewalld
# 下载nginx源码
wget https://nginx.org/download/nginx-1.20.2.tar.gz
# 解压并切换目录
tar -zxvf nginx-1.20.2.tar.gz
cd nginx-1.20.2/
# 编译配置
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_realip_module
# 编译
make
# 安装
sudo make install
# 切换nginx安装目录
cd /usr/local/nginx/sbin
# 验证nginx安装
./nginx -V
nginx version: nginx/1.20.2
built by gcc 7.3.1 20180712 (Red Hat 7.3.1-13) (GCC)
built with OpenSSL 1.0.2k-fips  26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --with-http_ssl_module --with-http_realip_module
# 测试nginx
sudo ./nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

配置vim:

cd ~/nginx-1.20.2/
mkdir ~/.vim/
# 配置vim对nginx配置语法高亮支持
cp -r contrib/vim/* ~/.vim/

配置用户:

# 查看当前系统是否已经存在用户nginx
cat /etc/passwd | grep nginx
# 查看当前系统是否存在用户组nginx
cat /etc/group | grep nginx
# 如果nginx已经存在,则新一个
sudo useradd --system --home /usr/local/nginx --shell /sbin/nologin --comment "nginx user" --user-group nginx
# 授权文件夹拥有者为nginx用户
sudo chown -R nginx /usr/local/nginx
# 授权文件夹用户组为nginx
sudo chgrp -R nginx /usr/local/nginx

SysV 配置:

sudo vim /usr/lib/systemd/system/nginx.service

nginx.service:

[Service]
User=nginx
Group=nginx
Type=forking
ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
ExecQuit=/usr/local/nginx/sbin/nginx -s quit

[Install]
WantedBy=multi-user.target

修改 nignx 配置:

sudo vim /usr/local/nginx/conf/nginx.conf
...
worker_processes  auto;
...
...
server_tokens off;
...


配置防火墙:

sudo systemctl enable firewalld
sudo systemctl status firewalld
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --reload
# 查看防火墙
sudo firewall-cmd --list-all
# 第二种方式查看防火墙
sudo firewall-cmd --list-all --zone=public

再次配置 SysV 服务:

# 配置Sysv
sudo systemctl enable nginx.service
sudo systemctl daemon-reload
sudo setcap cap_net_bind_service=+eip /usr/local/nginx/sbin/nginx
sudo systemctl start nginx.service
sudo systemctl status nginx

非root用户1024以下端口

sudo setcap cap_net_bind_service=+eip /usr/local/nginx/sbin/nginx

setcap将1024以下的端口网络权限,给非root用户使用,只给网络权限。

参考:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值