Install Nginx On Amazon EC2

This guide can be used in the case we need to run Nginx on Amazon due to a bug that affects the EPEL package repository and maybe some other repository.

That’s why I leave this “Step by Step” to compile and build the RPM for CentOS and RHEL. It is functional in Amazon EC2 instances.


The first thing you need to do is to install the “checkinstall” to generate the RPM.
If you’re going to do it on a 32bit system just do the following:

 

yum install checkinstall

To do that we have to have the RPMforge Repository in our system.


If we have a 64 bits system we are going to need to download the checkinstall 32bits RPM using the following link, and install it:

wget http://packages.sw.be/checkinstall/checkinstall-1.6.0-3.el5.rf.i386.rpm
rpm -Uvh checkinstall-1.6.0-3.el5.rf.i386.rpm

Then install the needed RPM packages to compile Nginx:

yum install rpm-devel rpm-build openssl-devel zlib-devel pcre pcre-devel gcc make

Now we have to download the Nginx code and generate the RPM:

mkdir -p /root/src
cd /root/src
wget http://nginx.org/download/nginx-0.8.54.tar.gz
tar xzf nginx-0.8.54.tar.gz
cd nginx-0.8.54

We are now ready to compile and generate the RPM:

./configure --conf-path=/etc/nginx/nginx.conf --sbin-path=/usr/sbin/  --prefix=/usr/share/nginx --error-log-path=/var/log/nginx/error.log --pid-path=/var/run/nginx.pid
 
make
 
checkinstall --fstrans=no

We need to follow the steps asked by checkinstall and then install the generated RPM.
Finally we have to copy and paste in a file to add to “init.d” and then be able to run it as any service.
By the end of this “Step by Step” there is an example of how to do it.
As a last step we only have to start it like a normal service.

vim /etc/init.d/nginx  # Paste here the example named "Example to start service"
/etc/init.d/nginx start

I hope this to be usefull for you. If we want to use, for example, PHP 5.2 we can download PHP and Nginx compatible with Amazon Kernel(Xen Kernel) from the CentosALT Repository.

Example to start service.

#!/bin/sh
#
# nginx - this script starts and stops the nginx daemon
#
# chkconfig:   - 85 15
# description:  Nginx is an HTTP(S) server, HTTP(S) reverse \
#               proxy and IMAP/POP3 proxy server
# processname: nginx
# config:      /etc/nginx/nginx.conf
# config:      /etc/sysconfig/nginx
# pidfile:     /var/run/nginx.pid
 
# Source function library.
. /etc/rc.d/init.d/functions
 
# Source networking configuration.
. /etc/sysconfig/network
 
# Check that networking is up.
[ "$NETWORKING" = "no" ] && exit 0
 
nginx="/usr/sbin/nginx"
prog=$(basename $nginx)
 
NGINX_CONF_FILE="/etc/nginx/nginx.conf"
 
[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx
 
lockfile=/var/lock/subsys/nginx
 
start() {
    [ -x $nginx ] || exit 5
    [ -f $NGINX_CONF_FILE ] || exit 6
    echo -n $"Starting $prog: "
    daemon $nginx -c $NGINX_CONF_FILE
    retval=$?
    echo
    [ $retval -eq 0 ] && touch $lockfile
    return $retval
}
 
stop() {
    echo -n $"Stopping $prog: "
    killproc $prog
    retval=$?
    echo
    [ $retval -eq 0 ] && rm -f $lockfile
    return $retval
}
 
restart() {
    configtest_q || configtest || return 6
    stop
    start
}
 
reload() {
    configtest_q || configtest || return 6
    echo -n $"Reloading $prog: "
    killproc $nginx -HUP
    echo
}
 
configtest() {
  $nginx -t -c $NGINX_CONF_FILE
}
 
configtest_q() {
    configtest >/dev/null 2>&1
}
 
rh_status() {
    status $prog
}
 
rh_status_q() {
    rh_status >/dev/null 2>&1
}
 
# Upgrade the binary with no downtime.
upgrade() {
    local pidfile="/var/run/${prog}.pid"
    local oldbin_pidfile="${pidfile}.oldbin"
 
    configtest_q || configtest || return 6
    echo -n $"Staring new master $prog: "
    killproc $nginx -USR2
    retval=$?
    echo 
    sleep 1
    if [[ -f ${oldbin_pidfile} && -f ${pidfile} ]];  then
        echo -n $"Graceful shutdown of old $prog: "
        killproc -p ${oldbin_pidfile} -QUIT
        retval=$?
        echo 
        return 0
    else
        echo $"Something bad happened, manual intervention required, maybe restart?"
        return 1
    fi
}
 
case "$1" in
    start)
        rh_status_q && exit 0
        $1
        ;;
    stop)
        rh_status_q || exit 0
        $1
        ;;
    restart|configtest)
        $1
        ;;
    force-reload|upgrade) 
        rh_status_q || exit 7
        upgrade
        ;;
    reload)
        rh_status_q || exit 7
        $1
        ;;
    status|status_q)
        rh_$1
        ;;
    condrestart|try-restart)
        rh_status_q || exit 7
        restart
	    ;;
    *)
        echo $"Usage: $0 {start|stop|reload|configtest|status|force-reload|upgrade|restart}"
        exit 2
esac

Source: Netman Blog

Tags: amazon apache centos checkinstall config ec2 EPEL nginx rhel rpmforge Server

AWS EC2实例创建全攻略:从新手避坑到自动化部署 云计算时代,虚拟服务器(VM)已成为企业IT基础设施的核心。创建一台云服务器看似简单,实则涉及镜像选择、实例规格、网络配置、安全策略等多层技术决策。以AWS EC2为例,理解其核心组件——如AMI(机器镜像)、EBS存储卷、安全组和密钥对——是掌握云端资源管理的基石。安全组作为实例的虚拟防火墙,其规则配置直接影响服务的可访问性与安全性;而密钥对则是SSH远程登录的身份凭证,妥善保管至关重要。科学规划区域选择与计费模式,能有效控制成本并保障性能。从手动控制台操作逐步进阶到使用CLI命令和启动模板实现基础设施即 阅读详情

相关推荐

AWS EC2新手避坑指南:从网络架构到CPU积分的实操真相

EC2是AWS最基础的计算服务,本质是云上可编程虚拟机,其运行依赖VPC网络、安全组策略、实例类型资源模型与EBS存储体系四大支柱。理解EC2不能停留在‘点鼠标启动’层面,而需掌握底层原理——如VPC为何是强制前提、安全组为何是无状态入站规则、t3.micro的CPU积分如何影响实际性能与成本。这些知识直接决定部署稳定性、账单可控性及后续向容器化、Serverless演进的能力。本文聚焦真实生产场景中的高频卡点:公网访问不通、SSH连接拒绝、实例莫名扣费、磁盘空间告急等,以Ubuntu 22.04 + t3

leonard61306500的专栏 379

AWS EC2部署机器学习模型实战:Flask+Nginx+Gunicorn工程化指南

机器学习模型服务化是AI落地的核心环节,其本质是将训练好的模型封装为高可用、低延迟、可监控的HTTP API。实现这一目标需深入理解Web服务器原理、进程管理机制与云基础设施协同逻辑。AWS EC2凭借确定性硬件资源、细粒度系统控制和成熟运维生态,成为中大型业务模型部署的首选底座。本文围绕Flask应用框架、Nginx反向代理、Gunicorn工作进程及systemd守护机制展开,覆盖模型热加载、请求限流、安全加固、GPU显存监控等关键工程实践,特别适配scikit-learn、XGBoost、LightG

weixin_33766805的博客 372

AWS CDK Python实战:从零构建生产级VPC-EC2安全架构

基础设施即代码(IaC)是云原生时代的核心工程实践,其本质是将云资源定义转化为可编程、可测试、可版本控制的软件资产。AWS CDK 通过主流编程语言(如Python)封装CloudFormation能力,显著降低IaC学习门槛与维护成本,让开发者用熟悉的if/else、类封装和单元测试思维构建云环境。相比传统JSON/YAML配置,CDK提供自动依赖解析、实时类型校验和本地调试支持,技术价值体现在提升部署可靠性、加速迭代周期与强化安全合规。典型应用场景包括微服务集群自动化交付、多环境一致化治理及金融级网络隔

weixin_30237719的博客 410

AWS EC2 linux nginx1.20安装(多方借鉴)

在安装nginx前首先要确认系统中安装了gcc、pcre-devel、zlib-devel、openssl-devel。 安装命令: yum -y install gcc pcre-devel zlib-devel openssl openssl-devel ## 解压 tar -zxvf nginx-1.9.9.tar.gz ##进入nginx目录 cd nginx-1.9.9 ## 配置 ./configure --prefix=/usr/local/nginx # make make m

qq_25062671的博客 878

EC2+RDS+S3部署生产级MLflow服务器实战指南

MLflow是开源机器学习生命周期管理工具,核心能力在于统一追踪实验、参数、指标与模型工件。其架构天然分为元数据存储(metadata)和工件存储(artifacts)两层,需分别选用强一致性关系型数据库与高扩展对象存储。PostgreSQL凭借MVCC并发控制、JSONB索引支持和稳定事务性能,成为元数据后端首选;S3则以无目录限制、分段上传和低延迟GET能力,完美适配大体积二进制工件管理。在AWS云环境中,EC2提供可控进程生命周期与系统级运维能力,RDS保障ACID元数据服务,S3实现弹性工件存储——

weixin_33748818的博客 372

避坑指南:Windows11语言包安装后部分界面仍显示中文的终极解决方案

本文详细解析了Windows11语言包安装后部分界面仍显示中文的问题,提供了从基础到进阶的完整解决方案。通过PowerShell命令、注册表清理和系统文件检查等方法,帮助用户彻底解决语言显示不一致的问题,确保系统界面语言统一。

weixin_29232507的博客 1633

CentOS(亚马逊EC2,亚马逊班)安装Nginx

此文是引用 [url]http://my.oschina.net/dingdayu/blog/667035[/url]

dodomail的专栏 1030

LVDS信号调试必备:5分钟搞懂Xilinx IDELAYE3的TIME模式校准

本文深入解析了在Xilinx Ultrascale系列FPGA中调试LVDS信号时,如何正确使用IDELAYE3的TIME模式进行精密延迟校准。文章重点阐述了IDELAYCTRL、EN_VTC管脚与校准状态机的协同工作机制,揭秘了内置自校准(BISC)中Align_Delay的影响,并提供了从抽头值计算到实际眼图优化的完整实战方案,帮助工程师快速解决高速接口的时序问题。

joy55的博客 216

折腾AMAZON EC2 之(1) —— 安装apache(零初始环境)/ nginx

选择启动的实例是 redhat,是零初始环境 1、准备安装文件 httpd-2.4.12.tar.gz apr-1.5.2.tar.gz apr-util-1.3.8.tar.gz pcre-8.36.zip 2、根目录下创建 /ins 用来放置安装文件,并更改其属性为 777,然后通过WinSCP把上述安装文件传进这个文件夹内 创建 /usr/local/a

技术学习笔记 3129

MuJoCo 动捕接口 Mocap 直接操控机械臂(附代码)

动作捕捉(Motion Capture,简称 Mocap)是一种记录并处理人或物体动作的技术,在影视、游戏、机器人等领域应用广泛。通过上下左右以及alt_l,alt_r可以控制hand这个hody跟着mocap进行同步,这里将quat固定为Z朝下。首先在 scene.xml 中修改添加 mocap 和 equality。下面介绍如何配置 Mocap 以及使用按键进行末端控制。控制核心代码,通过按键控制mocap的pos和quat。

darcsdn 879

基于Opencv+Mediapipe的头部姿态检测

在学生课堂专注度检测项目中,可以通过学生头部姿态来确定学生注意力方向,从而判断其是否专注于课堂。

weixin_67879842的博客 2335

关于aws amazon linux 2的一些坑

第六部分 关于弹性IP(EIP,Elastic IP) 通常情况下,我们申请的EC2实例在每次重启之后,Public DNS和公有IP都会改变,如果是要做一个网站,服务器IP经常改变,那域名解析也要跟着变,这是个很麻烦的事情。这时候就需要申请EIP,并将EIP与EC2实例关联,这个EIP就可以作为这个实例的永久IP,除非我们手动取消关联。关联之后,我们可以在浏览器地址栏输入EIP来访问EC2实例。...

elvindp的博客 9313

告别功能限制:Win11家庭版无损升级专业版全攻略

本文详细介绍了如何将Win11家庭版无损升级到专业版的全过程,包括升级前的准备、两种官方升级方案(Microsoft Store购买和使用产品密钥)以及命令行升级方法。升级后可解锁远程桌面、组策略编辑器和BitLocker加密等高级功能,适合需要更多商业功能的用户。

weixin_32822843的博客 699

amazon ec2 php mysql nginx环境设置

注册&登陆:  1、注册amazon aws帐号,准备一张信用卡和一个固定电话,过程不再赘述。此过程中会得到一个.pem文件。 2、进入aws management console,在EC2部分,点击launch instance按钮启动一个ec2 instance。 3、 用puttygen(随putty安装)选择conversions->import key菜单项导入前面获得

好好学习,天天向上 1805

eNSP-交换机VLAN配置

VLAN

乌托托的博客 8804

【ComfyUI】QwenImageEdit + Z-Image 面部融合图生图

本文介绍了一种基于Stable Video Diffusion(SVD)模型的ComfyUI图生视频工作流,能够将静态图片转换为动态视频。工作流包含模型加载、图像导入、条件生成、视频采样、解码合成等8个核心步骤,通过SVD_img2vid_Conditioning节点实现视觉语义转换。该方案适用于创意视频制作、产品演示等场景,支持设计师和AI爱好者快速实现"以图生动"效果。文中详细说明了工作流架构、关键节点功能、操作流程及应用案例,并提供了模型参数和使用注意事项。

Mr数据杨 1812

Day 08 - Amazon Linux 2 上将 Django 与 Nginx 合并

Amazon Linux 2 上将 Django 与 Nginx 合并 -Day 08 先前我们都是直接使用 Django 所建立的网页伺服器,但是毕竟 Django 并非专注于网页伺服器这个领域,所以在 Python PEP 3333 号文件中有提出了一个 Python Web Server Gateway Interface (wsgi)规范,就是用来协助网站伺服器与 Python 框架结合的主要协议,下图就是 Nginx 结合 Django 的架构,一开始,我们都是使用浏览器直接存取 Django,透

m0_50614038的博客 385

【C++】开源:cpp-httplib HTTP协议库配置与使用

cpp-httplib HTTP协议库配置与使用

DevFrank的博客 5540

AzurLaneAutoScript 更新失败排查指南:Repository 配置错误 3 步修复

点完更新,窗口转了一会儿,日志里刷出一串红色报错,窗口卡住不动,再点 Alas 也起不来——如果你正卡在这个画面,先别急着重装。这是 AzurLaneAutoScript(ALAS)更新失败中最常见的一类:**config/deploy.yaml 里的仓库地址被填成了 PyPI 包镜像地址**,属于配置错误,不是环境损坏,改对两个字段就能恢复。 下面按"先对症状、再找根因、后开方"的顺序带你排查

gitblog_00057的博客 249

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Graphormer 蛋白-配体复合物预测实战:CrossDocked2020 对接数据快速上手指南

Graphormer 是微软推出的分子科学深度学习框架,其 `Distributional-Graphormer` 分支专门服务于**蛋白-配体复合物预测**。本文带你用 **CrossDocked2020 对接数据**快速上手蛋白-配体复合物预测,从获取数据到加载检查点,一次讲清楚。 ## 一、Graphormer 是什么?为什么能做蛋白-配体预测 [README.md](https://l

gitblog_00341的博客 380

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Litmus AWS SSM Chaos By ID 实验实战指南:借助 Amazon SSM Run Command 对 EC2 实例注入混沌故障

AWS SSM Chaos By ID 是 Litmus 混沌工程套件中面向 AWS 基础设施的故障注入实验:它通过 Amazon Systems Manager(SSM)Run Command 与目标 EC2 实例上的 SSM Agent 通信,按给定的实例 ID 在特定区域对一台或多台 EC2 实例注入 CPU 压力、内存压力、网络、磁盘或 I/O 等混沌故障。读完本文,你将掌握该实验的完整运

gitblog_00276的博客 420

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

PPT Master 国内源码下载与环境搭建完整教程:5 分钟跑通

PPT Master 能把文档或主题转换成真正的原生 `.pptx` 文件,产出含可编辑形状、图表、表格,还能加转场动画与语音旁白。本文覆盖中国大陆网络环境下从拿到源码、装好依赖到验证可用的完整闭环,跟着做大约 5 分钟。 ## 开工前先把这三件事自查一遍 ⚡ 三条前置条件,每条后面都给了自查命令,逐条确认再往下走: - Python 不低于 **3.10**(核心脚本的最低解释器版本)

gitblog_00572的博客 243

aws ec2 redhat7 nginx 安装

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34005042的博客 214

Mac 百度网盘下载提速教程:用 BaiduNetdiskPlugin-macOS 免费解除本地限速

一个 4GB 的文件以 100KB/s 左右的速度爬了一整夜还停在 10%,这种等待谁都不想再经历一次。BaiduNetdiskPlugin-macOS 是一个面向 macOS 的百度网盘插件,装进客户端后能解除本地的下载限速,让 Mac 版百度网盘恢复高速下载能力。 🚀 百度网盘提速插件最短路径安装:4 步跑通 这一节只讲一条最省心的一键路线,终端基础为零也能照着敲完。动手前先确认三个前提

gitblog_00165的博客 308

douyin-downloader 使用指南:从博主主页批量保存到直播录制,跑通只需三条命令

douyin-downloader 是一个命令行版的抖音批量下载工具:给它一个博主主页链接,它能按无水印源拉取该博主发布的作品、点赞、合集与音乐,并自动去重、重试、按目录归档。 它的核心设计是"配置驱动 + 断点续跑":所有行为都收敛在一个 `config.yml` 里,内置 SQLite 去重、并发队列和增量模式,重复执行同一条命令只会补齐新作品,适合放进定时任务长期跑。先说结论:这套流程 1

gitblog_00608的博客 722

AWS EC2从零部署静态网站实操指南

EC2是AWS中最基础的计算服务,本质是一台可远程访问的Linux虚拟机。理解其核心原理需把握实例生命周期、网络访问控制(安全组)、SSH密钥认证与按需计费模型四大支柱。技术价值在于提供完全可控的运行环境,支撑Web服务、API网关、轻量数据库等多样化场景。典型应用包括快速搭建演示站点、托管静态HTML、运行Node.js后端或作为CI/CD构建节点。本文聚焦真实操作闭环:从控制台启动t3.micro实例、配置安全组放行SSH和HTTP、通过密钥对建立SSH连接、部署Nginx并发布页面,全程结合Amazo

djai0102的博客 393
上一篇: Nginx + Passenger 开发Rails应用
下一篇: 将您的 Linux 应用程序迁移到 Amazon 云,第 2 部分: 提高应用程序可靠性
xinlanzero
博客等级 码龄25年 10粉丝 132原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值