nginx安装
前言
前面介绍了nginx的使用,和nginx的源码编译安装,跟同事交流说可以安装过程不用这么麻烦,只要用yum install nginx就可以了。但是很不幸,作者的centos版本跟同事一模一样,就是通过这个命令走不通。运行命令报的错误如下:
yum install安装
nginx.repo
经过折腾,作者从易百找到了答案:
缺少nginx.repo文件,作用设置centos的关于nginx的yum库。
nginx.repo,文件路径:/etc/yum.repos.d/nginx.repo(这个文件是不存在的,需要vim/vi命令新建)
内容:
- [nginx]
- name=nginx repo
- baseurl=http://nginx.org/packages/OS/OSRELEASE/$basearch/
- gpgcheck=0
- enabled=1
注意:根据所使用的分配,将“OS”替换为“centos”,对于5.x,6.x或7.x,请将“OSRELEASE”替换为“5”,“6”或“7” 版本,下面是查看centos版本的方式:cat /etc/centos-release
根据上图,我们可以知道当前的系统是centos7,所以上面的baseurl就是:baseurl=http://nginx.org/packages/centos/7/$basearch/
很多人会觉得:$basearch是不是也要替换,这个不要,这个就是一个变量,不需要替换。
附上http://nginx.org/packages下的包分类截图:
点进centos:
点进7:
很多人肯定跟我有一样的一问,怎么会有这么种类,其实大家可以通过这种方式就知道自己即将安装的是那个版本的(yum install nginx会自动帮我查找匹配的版本,所以如果不想理解,可以跳过这边):
cat /proc/version:
也可以通过lsb_release -a,但是很不幸,centos7没有这个命令,所以需要安装一下 yum install lsb
装完,运行该命令可以看到结果:
好吧,好像说错了,没有我们要的x86_64信息。没事,忽略。
yum install
上面文件弄好保存退出之后,就可以用一开始说的命令了:yum install nginx
输入y,表示下载并安装:
安装好之后就可以查看当前的nginx的版本信息了:
yum info nginx
安装完毕。
启动
这种安装方式启动有两种方式,都是现成的。
方式1:
启动:./nginx
停止:./nginx -s start
重新加载:./nginx -s reload
方式2:服务方式启动
之前介绍的源码安装方式如果想要以服务方式启动的话,需要自己添加启动的服务,但是这边通过yum install方式安装的,会自动帮我们配置并添加了服务启动的文件,所以我们都不用有多余的操作。
启动命令 service nginx start
停止命令 service nginx stop
重启命令 service nginx restart
重新加载 service nginx reload
nginx文件目录
之前服务启动,我们添加配置文件是添加到了/etc/init.d下面,出于好奇,作者也去相应的目录下去查找了下,但是没找到。这下,我就不乐意了。那这个文件放在哪里呢:
于是作者全局搜索nginx相关的文件或者目录:
一开始搜索的命令如下:find / -name nginx
懵逼了,只能一个个的去试下,都没有找到。
火气来了。又拼命的度娘,哎呀妈呀,找到答案了:这个是答案,戳他
我大概总结了一下:
- Centos 系统服务脚本目录:
- /usr/lib/systemd/
- 有系统(system)和用户(user)之分,如需要开机没有登陆情况下就能运行的程序,存在系统服务(system)里,即:
- /usr/lib/systemd/system/
- 反之,用户登录后才能运行的程序,存在用户(user)里,即/usr/lib/systemd/user,服务以.service结尾。
- 而我们的nginx的文件是在系统服务目录下,即:/usr/lib/systemd/system
打开看下:vim /lib/systemd/system/nginx.service
是的,熟悉的字眼,有启动有停止有重启。
上面是服务的文件,其他的文件的位置呢:
其实都可以从上面的这个服务的配置里面找到:
nginx.pid:/var/run/nginx.pid
nginx.conf:/etc/nginx/nginx.conf
nginx可执行文件:/usr/sbin/nginx
更为详细的ngxin文件可以通过搜索命令行来查找: