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

转载请注明出处http://blog.csdn.net/zhaoyanjun6/article/details/79155049
本文出自【赵彦军的博客】

什么是 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 初体验十五:阿里云安装Nginx_第1张图片

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

CentOS 初体验十五:阿里云安装Nginx_第2张图片

修改 nginx 端口

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

修改 nginx 端口配置

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

find / -name nginx.conf

结果是:
这里写图片描述

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 端口

这里写图片描述

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

systemctl restart nginx

然后在浏览器输入 http://47.94.230.26:8084/ , 就可以在看到
CentOS 初体验十五:阿里云安装Nginx_第3张图片

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

其他命令

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 初体验十五:阿里云安装Nginx_第4张图片

最后重新加载配置文件

service nginx reload

查看 nginx 转发日志

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

注意事项

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

这里写图片描述

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

非常好的参考文档:

【nginx实现请求转发】https://blog.csdn.net/tobacco5648/article/details/51099426

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


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

你可能感兴趣的:(centos,CentOS,初体验)