您现在的位置是:综合 >>正文

阿里云linux nginx

综合471人已围观

简介阿里云ECS默认的Linux镜像里没装Nginx。你得自己动手。我上周开了台Ubuntu 22.04的实例,SSH上去第一件事就是敲 nginx -v,返回的是 command not found。这 ...

阿里云ECS默认的阿里Linux镜像里没装Nginx。你得自己动手。阿里我上周开了台Ubuntu 22.04的阿里实例,SSH上去第一件事就是阿里敲 nginx -v,返回的阿里是 command not found。这跟很多教程里写的阿里"登录后直接配置Nginx"完全不是一回事。选Alibaba Cloud Linux 3的阿里话情况也一样,干净得很。阿里

装Nginx有两条路。阿里一条是阿里用系统包管理器,Ubuntu下就是阿里 apt install nginx,Alibaba Cloud Linux 或 CentOS 系用 dnf install nginx。阿里这条路的阿里优点是省心,systemd服务文件、阿里日志轮转、阿里默认站点目录全都给你配好了。缺点是版本偏旧。Ubuntu 22.04源里的Nginx是1.18,而官方稳定版早就过了1.24。如果你要用HTTP/3或者一些新模块,包管理器装的那个版本可能不够用。

另一条路是加Nginx官方源。以Alibaba Cloud Linux 3为例,先写一个repo文件到 /etc/yum.repos.d/nginx.repo,把baseurl指向 nginx.org/packages/centos/8/$basearch/,然后 dnf install nginx。这样装出来的是主线版本,模块也全。我一般选这条,因为后期加模块编译时不容易踩依赖坑。

装完之后 systemctl start nginx,再 systemctl enable nginx。这两个命令别搞反顺序,先start再enable,不然开机自启配置可能不生效——虽然大多数情况没问题,但我遇到过一回,enable在start之前执行,重启后服务没起来。原因没深究,但后来养成了先start的习惯。

阿里云的安全组是个容易忽略的点。Nginx起来之后,你在服务器上 curl localhost 能返回欢迎页,但从浏览器访问公网IP就是超时。十有八九是安全组没放行80端口。去ECS控制台,找到实例对应的安全组,入方向加一条TCP 80的规则。443同理。这个步骤跟Nginx本身没关系,但新手卡在这里的概率极高。

配置文件的结构值得说一下。/etc/nginx/nginx.conf 是主配置,里面通常有一行 include /etc/nginx/conf.d/*.conf。这意味着你不需要把所有东西都塞进nginx.conf。给每个站点建一个独立的conf文件丢到conf.d目录下,清爽得多。比如建一个 myapp.conf:

server {  listen 80; server_name your_domain.com; root /var/www/myapp; index index.html; location / {  try_files $uri $uri/ =404; } }

改完配置别急着restart。nginx -t 先测语法。这个命令会告诉你配置文件哪一行有问题。我见过有人直接restart,结果Nginx起不来,线上服务断了才发现是少了个分号。nginx -t 花不了两秒钟,但能省掉很多麻烦。

测试通过后 systemctl reload nginx。用reload而不是restart。reload是平滑重载,现有连接不断;restart是直接杀掉进程再启动,那一瞬间的请求全丢。生产环境上这两个命令的区别很要命。

日志在 /var/log/nginx/ 下面。access.log记录每个请求,error.log记录错误。调502或者404的时候,先看error.log。有一次我配反向代理,一直报502,查了半天后端服务没问题,最后在error.log里看到 connect() to 127.0.0.1:3000 failed (13: Permission denied)。是SELinux在拦。 setsebool -P httpd_can_network_connect 1 解决。这种问题不看日志根本猜不到。

阿里云的Alibaba Cloud Linux 3默认开着SELinux, enforcing模式。Ubuntu默认没装SELinux,所以同样的Nginx配置在Ubuntu上跑得好好的,换到Alibaba Cloud Linux上就可能出各种权限问题。这不是Nginx的锅,但选镜像的时候得心里有数。

最后提一个实际感受:Nginx在阿里云ECS上的性能表现跟实例规格关系很大。1核1G的突发性能实例t6,跑个静态站没问题,但并发一上来CPU积分很快耗尽,响应就慢。2核4G的通用型g7跑同样的配置,压测结果完全是另一个量级。所以别光调Nginx参数,实例规格选对了比什么都强。

Tags:

上一篇:c人教程网站

下一篇:蚂蚁src

相关文章

  • 淘宝搜索引擎的工作原理

    综合

    淘宝的搜索引擎,本质上是个“倒排索引”的疯狂玩家。你搜“红色连衣裙”,它不会真的翻遍全站商品,而是先查一张巨大的目录表——这张表早就把“红色”“连衣裙”“红色连衣裙”这些词对应好的商品ID列好了。查询 ...

    【综合】

    阅读更多
  • 美国fbi网站

    综合

    打开FBI官网,首页不是黑西装墨镜的探员,而是一张通缉犯照片。照片里的男人看起来像个普通会计,秃顶,戴金丝眼镜,涉嫌金融诈骗。这是FBI网站给我的第一印象——它更像一份通缉令公告栏,而非谍战片场。 网 ...

    【综合】

    阅读更多
  • 视频会员免费网站

    综合

    视频会员免费网站,说白了就是盗版影视资源站点的另一种叫法。这类网站从不缺流量,我身边就有朋友一边骂着“画质糊成马赛克”,一边在弹幕里刷“感谢UP主”。 前阵子我为了找一部冷门老片,翻遍各大正版平台都没 ...

    【综合】

    阅读更多


友情链接