CentOS 初体验十五:阿里云安装Nginx

Posted 赵彦军博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS 初体验十五:阿里云安装Nginx相关的知识,希望对你有一定的参考价值。

什么是 nginx

Nginx 是俄罗斯人编写的十分轻量级的 HTTP 服务器,它的发音为“engine X”,是一个高性能的 HTTP 和反向代理服务器,同时也是一个 IMAP/POP3/SMTP 代理服务器。Nginx 是由俄罗斯人 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,它已经在该站点运行超过两年半了。Igor Sysoev 在建立的项目时,使用基于 BSD 许可。

Nginx 因为它的稳定性、丰富的模块库、灵活的配置和低系统资源的消耗而闻名,不仅是因为响应静态页面的速度非常快,而且它的模块数量达到 Apache 的近 2/3.

系统

  • 平台:阿里云
  • CPU: 2核
  • 内存: 4 GB
  • 操作系统: CentOS 7.4 64位

安装 Nignx

安装 nignx

yum install nginx

通过上面的命令,就可以正常的安装 nginx ,安装完成后, 可以通过以下命令,启动 nginx

//启动nginx
systemctl start nginx  

查看 nginx 运行状态

//查看运行状态
systemctl status nginx 

状态如下
\'CentOS

在浏览器中输入阿里云公网 ip , 就可以看到 nginx 启动页面了。

\'CentOS

修改 nginx 端口

nginx 默认端口是 80 端口 , 如果有其他服务占用了 80 端口,我们需要为 nginx 指定新的端口,比如 8084 端口

修改 nginx 端口配置

配置端口的文件名字为 nginx.conf , 如果我们不知道这个文件在什么位置,我们可以用 find 命令找到这个文件的位置。

find / -name nginx.conf

结果是:
\'CentOS

nginx.conf/etc/nginx/ 目录。我们用 vim 打开这个文件,将

server {
        listen       80 default_server;
        listen       [::]:80 default_server;
        ....
        ....
}

改为

server {
        listen       8084 default_server;
        listen       [::]:8084 default_server;
        ....
        ....
}

保存退出就可以了,这样我们就把 nginx 默认 80 端口 修改成了 8084 端口。但是这还不行,因为我们是在阿里云的环境里面,需要在阿里云服务器的安全组打开 8084 端口

开启阿里云 8084 端口

\'CentOS

安全组端口开启了以后,我们重启 nginx 服务

systemctl restart nginx

然后在浏览器输入 http://47.94.230.26:8084/ , 就可以在看到
\'CentOS

至此我们的端口已经修改完成了。

其他命令

systemctl start nginx  #启动

systemctl stop nginx #停止

systemctl restart nginx  #重启

systemctl status nginx #查看运行状态

systemctl enable nginx #开机启动

nginx -v  #查看nginx版本号

service nginx reload #重新加载配置文件

vi  /etc/nginx/conf.d/default.conf  #打开配置文件

代理转发

首先打开配置文件

vi  /etc/nginx/conf.d/default.conf  #打开配置文件

在配置文件的末尾加上转发规则

  • 访问 news.baidu.net/aotshare 时,自动重定向到 http://www.baidu.com
  • 访问 news.baidu.net 时,转发到 http://127.0.0.1:8080
server {
        listen 80;
        server_name news.baidu.net;

    location /aotshare{
        #重定向 
        return http://www.baidu.com;
    }
    location /{
        #访问该地址时,需要转发
        proxy_pass http://127.0.0.1:8080;
    }
}

配置完成后,测试一下配置的内容是正常的

nginx -t

测试效果如图:

\'CentOS

最后重新加载配置文件

service nginx reload

查看 nginx 转发日志

tail -f /var/log/nginx/access.log 

注意事项

如果是新机器,nginx 代理不通过, 运行 vim /var/log/nginx/error.log 检查nginx的log会发现log提示权限不足,可是我们已经把文件权限付给了nginx。

\'CentOS

最终得知是因为selinux的缘故,此时只需运行 setenforce 0 即可关闭selinux(临时),再修改配置文件 /etc/selinux/config,将SELINUX=enforcing改为SELINUX=disabled,这样下次重启selinux依然是关闭的。再运行curl localhost 会发现服务已经可以正常服务了。

非常好的参考文档:

 

【CentOS7下Laravel部署并用nginx转发】https://www.jianshu.com/p/b1c924886126


个人微信号:zhaoyanjun125 , 欢迎关注
\'CentOS

 

以上是关于CentOS 初体验十五:阿里云安装Nginx的主要内容,如果未能解决你的问题,请参考以下文章

CentOS 初体验十四:阿里云安装Gitlab

云原生 初体验阿里云Serverless应用引擎SAE,前端Nginx静态文件持久化到对象存储OSS

CentOS 初体验四: 阿里云服务器开启8080端口

云原生Docker 进阶 -- 阿里云服务器安装Docker Compose与初体验

阿里云部署Java web项目初体验

阿里云部署Java web项目初体验(转)