阿里云ECS(Centos)中Nginx安装及配置
Nginx是一个高性能的http和反向代理web服务器,本篇在记录阿里云ECS中安装及配置Nginx的过程。Nginx作为系统关键服务,下面流程全部在root用户下完成。
系统:CentOS 8.0 64位
Nginx:1.18.0版本
1 安装nginx依赖
Nginx的安装通过源码包编译完成,需要c++支持库,同时在Nginx运行过程中对于一些压缩、路由正则表达式、https支持等相关特性需要其他一些支持库。一般情况下,安装 gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel
这些依赖可满足基本要求,安装指令如下:
yum install -y gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel
上面指令是完整安装,如果服务器已安装部分依赖,可忽略,具体可执行
yum info 依赖包名称
查看是否已安装。如下图,本机只安装了部分未安装的依赖。
安装完成后,指令结果会列出已安装和更新的项,如下:
2 安装Nginx
2.1 下载解压源码包
从 Nginx官方 下载最新稳定版本源码,当前为 1.18.0 ,如下图。
下载及解压指令如下(解压目标目录自行指定):
wget http://nginx.org/download/nginx-1.18.0.tar.gztar -zxvf nginx-1.18.0.tar.gz
2.2 安装配置检查
解压完成后,进入到解压目录
执行安装检查,运行如下指令:
./configure
检查完成后,默认安装配置信息如上图所示。
2.3 安装
在解压目录下
执行下面指令,默认会安装到/usr/local/
目录下
make && make install
2.4 配置别名
此步骤可选,目的是为了后续运行nginx操作指令方便。别名配置方式和当前使用的shell类型相关,这里使用zsh
,所以在用户目录的.zshrc
文件中加入如下别名 nginx
替代nginx执行文件的完整路径。
vim ~/.zshrc
source ~/.zshrc
2.5 安装结果验证
安装完成后,会生成nginx默认配置文件 /usr/local/nginx/conf/nginx.conf
,内容如下:
#user nobody;
worker_processes 1;#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;#pid logs/nginx.pid;events {worker_connections 1024;
}http {include mime.types;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 logs/access.log main;sendfile on;#tcp_nopush on;#keepalive_timeout 0;keepalive_timeout 65;#gzip on;server {listen 80;server_name localhost;#charset koi8-r;#access_log logs/host.access.log main;location / {root html;index index.html index.htm;}#error_page 404 /404.html;# redirect server error pages to the static page /50x.html#error_page 500 502 503 504 /50x.html;location = /50x.html {root html;}# proxy the PHP scripts to Apache listening on 127.0.0.1:80##location ~ \.php$ {# proxy_pass http://127.0.0.1;#}# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000##location ~ \.php$ {# root html;# fastcgi_pass 127.0.0.1:9000;# fastcgi_index index.php;# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;# include fastcgi_params;#}# deny access to .htaccess files, if Apache's document root# concurs with nginx's one##location ~ /\.ht {# deny all;#}}# another virtual host using mix of IP-, name-, and port-based configuration##server {# listen 8000;# listen somename:8080;# server_name somename alias another.alias;# location / {# root html;# index index.html index.htm;# }#}# HTTPS server##server {# listen 443 ssl;# server_name localhost;# ssl_certificate cert.pem;# ssl_certificate_key cert.key;# ssl_session_cache shared:SSL:1m;# ssl_session_timeout 5m;# ssl_ciphers HIGH:!aNULL:!MD5;# ssl_prefer_server_ciphers on;# location / {# root html;# index index.html index.htm;# }#}}
可执行如下命令nginx配置检查,如果配置文件有错误会有相应提示。
nginx -t
如上图,nginx配置正确,下面指令启动nginx、查看nginx进程、并从本机测试可访问性(默认开启80端口,所以使用 localhost
访问即可),如下图:
nginx
ps -ef|grep nginx
curl localhost
上图中使用 curl
命令访问本机可正常返回页面信息,nginx安装完成。后续可进行其他域名相关的绑定配置。
3 阿里云ECS配置
如上面步骤nginx已成功安装,且在本机可访问。但是由于阿里云的安全机制,默认情况下无法使用公网IP进行访问,也就是无法在其他主机通过非域名方式访问。解决方式如下。
3.1 添加安全组
默认情况下,阿里云系统会给每个ESC主机关联一个默认的安全组(每个ECS实例也至少要关联一个安全组),该安全组默认开启了TCP协议中的22
和 3389
端口,用于支持 ssh
和 mysql
操作,如下图。所以安装Nginx后,默认使用的 80
端口并未开放,所以无法访问。
这里建立一个新的安全组用于开放nginx使用的端口,如下图,入方向
开放 80
和 443
两个端口。(如果nginx使用了其他端口,可类似添加其他端口的规则)。
3.2 ECS实例加入新安全组
将安装nginx的ECS实例加入到刚才创建的安全组中,如下图。
3.3 测试公网IP访问
完成上面步骤后,在浏览器中,直接输入ECS的公网IP,可成功访问,如下图:
3.4 域名访问
国内主机不允许使用未备案的域名进行站点访问,所以,如果在nginx中将站点绑定到域名,无法正常访问,如下图。这种情况可对域名进行备案,或者将域名绑定到国外IP的主机。
阿里云ECS(Centos)中Nginx安装及配置相关推荐
- 阿里云centos mysql_阿里云ECS服务器CentOS7上安装MySql服务-阿里云开发者社区
阿里云ECS服务器CentOS7上安装MySql服务 ---------------------------------------------- 使用root登录 1.确保服务器系统处于最新状态 [ ...
- 阿里云ecs实例中创建数据库
阿里云ecs实例中创建数据库 安装mysql 创建数据库 1.登录 2.新建数据库 3.执行.sql文件 4.查询表,验证是否创建成功 4.退出数据库 安装mysql 参考https://blog.c ...
- 阿里云ECS服务器CentOS7上安装服务器安全狗Linux版
阿里云ECS服务器CentOS7上安装服务器安全狗Linux版 ---------------- 使用root登录 1.确保服务器系统处于最新状态[root@localhost ~]# yum -y ...
- 阿里云 ECS 服务器如何一键安装宝塔面板
阿里云 ECS 服务器和宝塔面板是最佳搭配伙伴,也是最适合新手.老手使用的一款云服务器搭配组合.无论 windows 服务器还是 linux 服务器,阿里云服务器都提供了对应版本的宝塔面板供大家取用, ...
- 阿里云ECS服务器配置LAMP时安装配置mysql数据库填坑(二)
阿里云ECS服务器配置LAMP时安装配置mysql数据库填坑(二) 上篇文章讲到的是安装apache服务器时遇到的坑,经过排错总算是把Apache的坑填完了,没想到安装mysql又跳坑里了,真是不得不 ...
- 阿里云ECS服务器配置LAMP时安装配置PHP扩展填坑(三)
阿里云ECS服务器配置LAMP时安装配置PHP扩展填坑(三) apache+mysql配置完成.问题解决后,接下来就是安装配置PHP了,按照阿里云官方lamp配置文档(https://help.ali ...
- CentOS中vsftp安装、配置、卸载
CentOS中vsftp安装.配置.卸载 转载http://www.zjgsq.com/1509.html 转载于:https://blog.51cto.com/bbtao/1606816
- DotAsterisk(点星PBX)呼叫中心系统在阿里云ECS服务器上的安装部署
最近有一项语音呼叫的业务需要将DotAsterisk(点星PBX)部署到阿里云ECS云主机上,正好这段时间发现阿里云做活动,ECS机器购买优惠力度很大,新用户只需要699元就可以购买一台2CPU 4G ...
- 阿里云ECS之下载与安装SSH(二)
下载与安装SSH 其中SSH Secure Shell Client为文字界面,SSH Secure File Transfer Client为图形化界面 搭建环境 打开图像化界面,左边是window ...
最新文章
- 微信小程序实例开发教程之知乎新闻
- 某网络专业人士笔记(超级珍藏)
- Java虚拟机学习(7):对象内存分配与回收
- 信号与系统——微分方程与差分方程——编辑中
- Java中如何解决double和float精度不准的问题
- 浪潮I9000革新传统刀片 解决基础架构统一难题
- 细数家庭安防五大乱象 何时能步入正轨
- docker web程序本地化_Docker-01-Docker介绍
- linux shell 上传,下载ftp文件
- Java多线程学习四十:如何写一个必然死锁的例子
- Leave the world behind,山巅雪莲的再次绽放
- object怎么转list_PaddleOCR识别模型转Pytorch全流程记录
- 只存活了9天,谷歌AI伦理委员会解散了:严重低估员工的战斗力
- C/C++二维数组的用法
- 算法实践——改良的求解数独的暴力搜索法
- HDFView安装及使用教程
- 重装系统后没有网卡驱动
- 颜色对照表(五)(16进制、RGB、CMYK、HSV、中英文名)
- 解压ubi文件_ubi详解
- 域名邮箱用GMAIL,live
热门文章
- 微软发布6月份安全更新程序补丁(For Windows xp/2003/2000/vista和Office 2003/2007所有更新产品补丁)
- 图像不能包含 alpha 通道或透明度
- 必测的支付漏洞(二)支付流程中“幂等性”
- XYNUOJ 1190 行车路程
- 个人信息“裸奔”?超七成网民遭泄露
- 鸿蒙不支持nas,群晖Video Station不支持dts eac3的解决方案
- 广东计算机一级ps操作题,2017年计算机一级PS练习题及答案
- 如何在照片或者图片上增加文字
- 读书笔记《世界金融史》
- oracle表数据如何导出成dbf,怎么将EXCEL导成DBF?《dbf导出excel数据》