为了获得最新版的nginx,nginx安装说明建议直接从nginx官网下载,需要新建一个源。vi /etc/yum.repos.d/nginx.repo
内容如下:
[nginx] //源名称,会被yum识别 name= nginx repo //文件功能说明,只是便于理解这个文件的作用 baseurl=http://nginx.org/packages/centos/7/$releasever/$basearch/ //地址,非常重要,其中7(针对7.x)是版本,x86_64是CPU基本体系 gpgcheck=0 //gpg校验,0代表不校验,1代表校验 enabled=1 //启用,0代表不启用,1代表启用
# yum install nginx 已加载插件:fastestmirror nginx | 2.9 kB 00:00:00 nginx/7/x86_64/primary_db | 24 kB 00:00:00 Loading mirror speeds from cached hostfile * base: mirrors.cn99.com * extras: mirrors.163.com * updates: mirrors.cn99.com 正在解决依赖关系 --> 正在检查事务 ---> 软件包 nginx.x86_64.1.1.12.0-1.el7.ngx 将被 安装 --> 解决依赖关系完成 依赖关系解决 ========================================================================================== Package 架构 版本 源 大小 ========================================================================================== 正在安装: nginx x86_64 1:1.12.0-1.el7.ngx nginx 716 k 事务概要 ========================================================================================== 安装 1 软件包 总下载量:716 k 安装大小:2.5 M Is this ok [y/d/N]: y Downloading packages: nginx-1.12.0-1.el7.ngx.x86_64.rpm | 716 kB 00:00:03 Running transaction check Running transaction testTransaction test succeeded Running transaction 正在安装 : 1:nginx-1.12.0-1.el7.ngx.x86_64 1/1 ---------------------------------------------------------------------- Thanks for using nginx!# nginx -vnginx version: nginx/1.12.0
如何查找安装软件的位置信息????
yum是基于·rpm·的,用rpm -ql
就可以了
rpm 全名是** “RedHat Package Manager",简称则为RPM**。当被这个软件管理机制是由Red Hat这家公司发展来的。RPM是以一种数据记录的方式来将你所需要的软件安装到你的Linux系统的一套管理机制。rpm的优点如下:
1. RPM内含已编译过的程序与设置文件等数据,可以让用户免除重新编译的困扰。 2. RPM在被安装之前,会先检查系统的硬盘容量、操作系统版本等,可避免文件被错误安装。 3. RPM文件本身提供软件版本信息、依赖属性软件名称、软件用途说明、软件所含文件信息,便于了解软件。 4. RPM管理的方式使用数据库记录RPM文件的相关参数,便于升级、删除、查询与验证。
路径 | 说明 |
---|---|
/etc | 一些设置文件放置的目录如/etc/crontab |
/usr/bin | 一些可执行文件 |
/usr/lib | 一些程序使用的动态函数库 |
/usr/share/doc | 一些基本的软件使用手册与帮助文档 |
/usr/share/man | 一些man page文件 |
罗列即可
# rpm --help ....########## -l, --list 列出软件包中的文件 --queryformat=QUERYFORMAT 使用这种格式打印信息 ########### rpm -ql nginx | grep nginx
/etc/nginx: 默认安装位置; /etc/nginx/conf.d/default.conf: 默认配置信息
CentOS 7 默认使用的是firewall作为防火墙;
#关闭防火墙 systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止firewall开机启动
启动Nginx服务
# service nginx startRedirecting to /bin/systemctl start nginx.service Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details.# journalctl -xe5月 10 23:46:28 localhost.localdomain systemd[1]: Starting nginx - high performance web server... -- Subject: Unit nginx.service has begun start-up -- Defined-By: systemd -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel -- -- Unit nginx.service has begun starting up. 5月 10 23:46:28 localhost.localdomain nginx[21029]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok 5月 10 23:46:28 localhost.localdomain nginx[21029]: nginx: configuration file /etc/nginx/nginx.conf test is successful 5月 10 23:46:28 localhost.localdomain nginx[21031]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) 5月 10 23:46:29 localhost.localdomain nginx[21031]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) 5月 10 23:46:29 localhost.localdomain nginx[21031]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) 5月 10 23:46:30 localhost.localdomain nginx[21031]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) 5月 10 23:46:30 localhost.localdomain nginx[21031]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) 5月 10 23:46:31 localhost.localdomain systemd[1]: nginx.service: control process exited, code=exited status=1 5月 10 23:46:31 localhost.localdomain nginx[21031]: nginx: [emerg] still could not bind() 5月 10 23:46:31 localhost.localdomain systemd[1]: Failed to start nginx - high performance web server. -- Subject: Unit nginx.service has failed -- Defined-By: systemd -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel -- -- Unit nginx.service has failed. -- -- The result is failed. 5月 10 23:46:31 localhost.localdomain systemd[1]: Unit nginx.service entered failed state. 5月 10 23:46:31 localhost.localdomain systemd[1]: nginx.service failed. 5月 10 23:46:31 localhost.localdomain polkitd[658]: Unregistered Authentication Agent for unix-process:21023:289487 (system bus name :1. lines 1198-1223/1223 (END)
排除❌
1.检测配置文件是否出错
# nginx -tnginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
2.查看日志
# cat /var/log/nginx/error.log 2017/05/10 23:20:48 [emerg] 20747#20747: open() "/var/run/nginx.pid" failed (13: Permission denied) 2017/05/10 23:21:10 [emerg] 20759#20759: bind() to 0.0.0.0:80 failed (98: Address already in use) 2017/05/10 23:21:10 [emerg] 20759#20759: bind() to 0.0.0.0:80 failed (98: Address already in use).....
3.从上看原因似乎出自open() "/var/run/nginx.pid" failed (13: Permission denied)
;
但是·/var/run·下没有·nginx.pid·
查看ps -ef | grep nginx 查看安装情况及安装路径
查看nginx默认网站根目录位置 /usr/local/nginx/html; //网站根目录位置
# [root@bogon www]# ps -ef |grep nginx root 1434 1 0 11:53 ? 00:00:00 nginx: master process /usr/local/nginx/sbin/nginx www 1437 1434 0 11:53 ? 00:00:00 nginx: worker process root 18299 17758 0 23:03 pts/0 00:00:00 grep --color=auto nginx
# kill -9 17680# kill -9 21063# service nginx startRedirecting to /bin/systemctl start nginx.service# systemctl status nginx.service● nginx.service - nginx - high performance web server Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled) Active: active (running) since 四 2017-05-11 00:43:27 EDT; 2s ago Docs: http://nginx.org/en/docs/ Process: 2467 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (code=exited, status=0/SUCCESS) Process: 2466 ExecStartPre=/usr/sbin/nginx -t -c /etc/nginx/nginx.conf (code=exited, status=0/SUCCESS) # ps -ef |grep nginx root 21141 1 0 00:26 ? 00:00:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf nginx 21142 21141 0 00:26 ? 00:00:00 nginx: worker process root 21179 13071 0 00:34 pts/0 00:00:00 grep --color=auto nginx
以上的操作是在vmware中配置的Nginx,此时Nginx服务已经开启,虚拟机地址:
http://172.16.46.172 浏览器中访问如下:
评论专区