> CentOS > CentOS教程 >

centos7安装nginx的两种方法

centos7安装nginx

第一种方式:通过yum安装

直接通过 yum install nginx 肯定是不行的,因为yum没有nginx,所以首先把 nginx 的源加入 yum 中。

运行下面的命令:

1.将nginx放到yum repro库中
[root@localhost ~]# rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

2.查看nginx信息
[root@localhost ~]# yum info nginx

3.使用yum安装ngnix
[root@localhost ~]# yum install nginx
效果如下:
[root@localhost ~]# yum install nginx
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.usc.edu
 * extras: mirror.raystedman.net
 * updates: mirror.metrocast.net
正在解决依赖关系
--> 正在检查事务
---> 软件包 nginx.x86_64.1.1.10.1-1.el7.ngx 将被 安装
      ······
      ······
正在安装    : 1:nginx-1.10.1-1.el7.ngx.x86_64        
Thanks for using nginx!
Please find the official documentation for nginx here:
* http://nginx.org/en/docs/

Commercial subscriptions for nginx are available on:
* http://nginx.com/products/

----------------------------------------------------------------------
  验证中      : 1:nginx-1.10.1-1.el7.ngx.x86_64                                                                                 1/1 

已安装:
  nginx.x86_64 1:1.10.1-1.el7.ngx                                                                                     
完毕!

4.启动nginx
[root@localhost ~]# service nginx start

5.查看nginx版本
[root@localhost ~]# nginx -v

6.访问nginx,现在你可以通过公网ip (本地可以通过 localhost /或 127.0.0.1 ) 查看nginx 服务返回的信息。
[root@localhost ~]# curl -i localhost
效果如下:
      ······
Welcome to nginx!。
      ······
7.nginx配置文件位置在/etc/nginx/
[root@localhost /]# ll /etc/nginx/
总用量 32
drwxr-xr-x. 2 root root   25 10月 12 13:11 conf.d
-rw-r--r--. 1 root root 1007 5月  31 22:09 fastcgi_params
-rw-r--r--. 1 root root 2837 5月  31 22:09 koi-utf
-rw-r--r--. 1 root root 2223 5月  31 22:09 koi-win
-rw-r--r--. 1 root root 3957 5月  31 22:09 mime.types
lrwxrwxrwx. 1 root root   29 10月 12 13:11 modules -> ../../usr/lib64/nginx/modules
-rw-r--r--. 1 root root  643 5月  31 22:08 nginx.conf
-rw-r--r--. 1 root root  636 5月  31 22:09 scgi_params
-rw-r--r--. 1 root root  664 5月  31 22:09 uwsgi_params
-rw-r--r--. 1 root root 3610 5月  31 22:09 win-utf

8.实践:
目的:修改服务名,接着从外部访问这个服务
操作:
a.修改nginx配置文件
[root@localhost nginx]# vim /etc/nginx/conf.d/default.conf
修改server_name部分:server_name  yytest.com;

b.重载服务
[root@localhost nginx]# /usr/sbin/nginx -s reload 

c.从外部访问nginx服务(192.168.10.11)
如在客户机(192.168.10.10)的浏览器访问:http://yytest.com

d.你发现访问不了,原因1,你没有在hosts文件做映射;原因2,及时你在hosts文件中了映射,由于nginx服务器的80端口堵塞或防火墙没关

e.解决办法:
步骤一:修改客户机(192.168.10.10)的hosts文件,使用SwitchHosts工具添加 192.168.10.11     yytest.com
步骤二:关闭防火墙,具体下文有说明

9.nginx常用操作
启动:
$ /usr/sbin/nginx或任意路径下运行service nginx start(centos7是systemctl start nginx.service )

重启:
$ /usr/sbin/nginx –s reload

停止:
$ /usr/sbin/nginx –s stop

测试配置文件是否正常:
$ /usr/sbin/nginx –t

可能遇到的问题:

具体情况如下  1。本机能ping通虚拟机  2。虚拟机也能ping通本机  3。虚拟机能访问自己的web  4。本机无法访问虚拟己的web  这个问题的原因是服务器的80端口没有打开或防火墙没有关闭

解决办法

如果是centos6:
解决方法如下: 
/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT 
然后保存: 
/etc/rc.d/init.d/iptables save 
重启防火墙 
/etc/init.d/iptables restart 

CentOS防火墙的关闭,关闭其服务即可: 
查看CentOS防火墙信息:/etc/init.d/iptables status 
关闭CentOS防火墙服务:/etc/init.d/iptables stop 
永久关闭防火墙: 
chkconfig –level 35 iptables off

如果是centos7
[root@rhel7 ~]# systemctl status firewalld.service

[root@rhel7 ~]# systemctl stop firewalld.service

[root@rhel7 ~]# systemctl disable firewalld.service

[root@rhel7 ~]# systemctl status firewalld.service

扩展知识:

启动一个服务:systemctl start firewalld.service
关闭一个服务:systemctl stop firewalld.service
重启一个服务:systemctl restart firewalld.service
显示一个服务的状态:systemctl status firewalld.service
在开机时启用一个服务:systemctl enable firewalld.service
在开机时禁用一个服务:systemctl disable firewalld.service

查看服务是否开机启动:systemctl is-enabled firewalld.service;echo $?

查看已启动的服务列表:systemctl list-unit-files|grep enabled

第二种方式:通过手动下载安装包解压安装

1.下载nginx包。
[root@localhost ~]# wget http://nginx.org/download/nginx-1.10.1.tar.gz

2.复制包到你的安装目录
[root@localhost ~]# cp nginx-1.10.1.tar.gz /usr/local/

3.解压
[root@localhost ~]# tar -zxvf nginx-1.10.1.tar.gz
[root@localhost ~]# cd nginx-1.10.1

4.启动nginx
[root@localhost ~]# /usr/local/nginx/sbin/nginx

5.查看版本s
[root@localhost ~]# nginx -v

6.url访问nginx localhost或127.0.0.1



(责任编辑:IT)