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
状态如下
在浏览器中输入阿里云公网 ip , 就可以看到 nginx 启动页面了。
修改 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/
, 就可以在看到
至此我们的端口已经修改完成了。
其他命令
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
测试效果如图:
最后重新加载配置文件
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 会发现服务已经可以正常服务了。
非常好的参考文档:
【CentOS7下Laravel部署并用nginx转发】https://www.jianshu.com/p/b1c924886126
个人微信号:zhaoyanjun125 , 欢迎关注
以上是关于CentOS 初体验十五:阿里云安装Nginx的主要内容,如果未能解决你的问题,请参考以下文章
云原生 初体验阿里云Serverless应用引擎SAE,前端Nginx静态文件持久化到对象存储OSS