CentOS 7学习笔记(二)之Nginx安装
说明:
1、这篇学习记录的目的是如何在CentOS 7上面安装Nginx,包括两种安装方式,yum源安装和源代码编译安装;
2、CentOS 7初学者,某些观点带有猜测之意,文中不足之处,还请批评指正,定会虚心受教。
第一部分 yum源安装
yum源安装相对比较容易,不必处理复杂的依赖关系。初次安装,我就先采用yum安装方式。根据nginx的wiki上面的安装介绍。
第一步 添加yum源
为了获得最新版的nginx,nginx安装说明建议直接从nginx官网下载,需要新建一个源。新建文件 /etc/yum.repos.d/nginx.repo,内容如下:
[nginx] //源名称,会被yum识别
name= nginx repo //文件功能说明,只是便于理解这个文件的作用
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ //地址,非常重要,其中7(针对7.x)是版本,x86_64是CPU基本体系
gpgcheck=0 //gpg校验,0代表不校验,1代表校验
enabled= //启用,0代表不启用,1代表启用
其中baseurl中的$releasever、$basearch是取得系统中的版本、CPU基本体系,这两个变量使用在yum文件中,具体的变量定义可以查找资料。
当编辑好文件后,执行命令,如下:
[test@localhost etc]$ yum repolist
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirror.bit.edu.cn
* extras: mirror.bit.edu.cn
* updates: mirrors.btte.net
源标识 源名称 状态
base//x86_64 CentOS- - Base 8,465
extras//x86_64 CentOS- - Extras
nginx/7/x86_64 nginx repo 13 //说明新加的源生效
updates//x86_64 CentOS- - Updates 1,605
repolist: 10,187
当系统中配置了很多源,并且会有相同的软件,我们就需要指定源安装,如下:
[test@localhost etc]$ sudo yum install nginx --enablerepo=nginx
[sudo] password for test:
.... ================================================================================
Package 架构 版本 源 大小
================================================================================
正在安装:
nginx x86_64 1:1.6.2-1.el7.ngx nginx 353 k 事务概要
================================================================================
安装 软件包 总下载量: k
安装大小: k
Is this ok [y/d/N]: y
......
正在安装 : :nginx-1.6.-.el7.ngx.x86_64 /
----------------------------------------------------------------------..... ----------------------------------------------------------------------
验证中 : :nginx-1.6.-.el7.ngx.x86_64 / 已安装:
nginx.x86_64 :1.6.-.el7.ngx 完毕!
查看nginx默认配置文件 /etc/nginx/conf.d/default.conf,内容如下:
server {
listen ; //监听端口80
server_name localhost; //服务器名称 #charset koi8-r;
#access_log /var/log/nginx/log/host.access.log main; location / {
root /usr/share/nginx/html; //网站根目录位置
index index.html index.htm; //网站首页默认页面名称
}
......
查看nginx服务状态,如下:
[test@localhost /]$ sudo systemctl status nginx.service
nginx.service - nginx - high performance web server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled)
Active: inactive (dead) //服务未开启
开启nginx服务,如下:
sudo systemctl start nginx.service
//再次查看状态,如下
nginx.service - nginx - high performance web server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled)
Active: active (running) since 二 2015-01-27 22:53:46 CST; 44s ago //服务已开启
......
当我们用另外一台PC访问该服务器时,却发现,无法打开,是因为默认情况下防火墙开启,禁止访问80端口(此时,我们联想到之前SSH,端口22,防火墙默认放行)。我们需要添加防火墙规则。同时,我们也可以先关闭防火墙,测试是否配置正确。
备注:听说之前的防火墙牌子是iptables,CentOS 7 默认是firewall,服务名称是firewalld。
添加防火墙规则如下:
sudo firewall-cmd --add-port=/tcp //http协议基于TCP传输协议,放行80端口
此时我们可以使用命令,来查看firewalld开放端口情况,前后比较如下:
之前:
[test@localhost /]$ sudo firewall-cmd --list-all
public (default)
interfaces:
sources:
services: dhcpv6-client ssh //这是默认放行的
ports: //这里是空的
...... 之后:
[test@localhost /]$ sudo firewall-cmd --list-all
public (default)
interfaces:
sources:
services: dhcpv6-client ssh
ports: 80/tcp //这是我们添加规则后的效果
........
当我们的浏览器输入服务器地址后,看到Nginx的欢迎页面,证明安装成功!下面是成功返回的页面:
最新文章
- IT软件人员的技术学习内容(写给技术迷茫中的你) - 项目管理系列文章
- DataContract
- websocket for python
- [codevs 1503]愚蠢的宠物(特殊的LCA)
- Eclipse_调试技巧
- HDU3341 Lost's revenge(AC自动机+DP)
- CreateCompatibleDC与CreateCompatibleBitmap
- php定时删除文件夹下文件(清理缓存文件)
- 搭建hadoop2.6.0集群环境
- 系统简单的UIImagePickerController
- Spring中的DataBinding(二) - Validation
- 使用hql当异常查询:Xxx is not mapped[from Xxx where ...]
- PAT1016
- zabbix相关
- 解决Parameter '__frch_item_0' not found. Available parameters 问题
- Spring事件通知机制
- (最小生成树 并查集)P1111 修复公路 洛谷
- 大家多开发点uwp吧
- 关于Unity中坐标系的种类
- [LeetCode&;Python] Problem 575. Distribute Candies
热门文章
- [AngularJS] Directive with Transcluded Elements
- ios开发——面试篇C语言精华
- debian创建apt-proxy代理
- debian的备份与还原
- bash的for循环从命令读取值
- 小白日记30:kali渗透测试之Web渗透-扫描工具-Skipfish
- org.apache.hadoop.fs-BlockLocation
- Jquery解析Json字符串,并且动态生成数据表格Table
- ASP.NET MVC 4 批量上传文件
- 两个UIView添加同一个手势只有最后一个有用