当前位置:   article > 正文

Ubuntu 16.04 配置Nginx服务器及遇到问题的解决方法 (相关配置文件已发百度云)_-ash: firewall-cmd: command not found

-ash: firewall-cmd: command not found

1、安装Nginx依赖库

在进行Nginx服务器的安装之前,首先需要安装好Nginx服务器所用到的依赖。
安装依赖用到的相关命令:

#安装gcc g++的依赖库
sudo apt-get install build-essential
sudo apt-get install libtool
# 安装依赖包openssl安装
sudo apt-get install openssl libssl-dev
# 安装依赖包pcre安装
sudo apt-get install libpcre3 libpcre3-dev
# 安装依赖包zlib安装
sudo apt-get install zlib1g-dev
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

2、 安装Nginx

1)、使用解压命令

tar -zxvf nginx-1.11.5.tar.gz
  • 1
2)、./config
  • 1
3)、sudo make && make install
  • 1

4)、然后进入目录:

/usr/local/nginx/sbin/nginx   启动服务
  • 1

在这里插入图片描述
如果没有之前的配置都是成功,这一步没有成功,可能是因为防火墙的问题。
在Windows系统中访问linux中的Nginx,默认是不能访问的。
解决方法:
1)、设置开放端口号:

firewall-cmd --add-port=80/tcp --permanent
注:nginx默认的端口为80  对于Http请求如果不指定端口,默认监听的就是80
端口的修改,可以在Nginx的配置文件中修改
配置文件的位置:
/usr/local/nginx/conf/nginx.conf
  • 1
  • 2
  • 3
  • 4
  • 5

注:
如果提示出现:

firewall-cmd: command not found
  • 1

使用如下命令即可:

sudo apt-get install firewalld
  • 1

2)、重启防火墙:

firewall-cmd --reload
  • 1

3)、重启后,查看开放的端口号:

firewall-cmd --list-all
  • 1

在这里插入图片描述
4)、重启服务器即可

./nginx
  • 1

3、nginx的常用命令:

使用nginx命令的前提条件,必须进入nginx的目录:/usr/local/nginx/sbin
常用命名:
1)、查看nginx的版本号

./nginx -v
  • 1

2)、启动nginx

./nginx
  • 1

3)、关闭nginx

./nginx -s stop
  • 1

4)、重新加载nginx(不重启服务器,就让配置生效)

./nginx  -s  reload
  • 1

5)、用进程方式查看nginx的工作状态。

ps -ef | grep nginx
  • 1

4、Nginx的配置文件详解

//第一部分  全局块  这部分只要设置一些影响nginx服务器整体运行的配置指令
/*这是Nginx服务器并发处理服务的关键配置,值越大,可以支持的并发处理量就越多
但是会收到硬件、软件等设备的制约*/
worker_processes  1;

/*第二部分   events块
这一部分的指令主要影响Nginx服务器与用户的网络连接。常用的设置包括:
是否开启对多 worker_processes下的网络连接进行序列化;
是否允许同时接受多个网络连接;
选取哪种事件驱动模型来处理连接请求;
每个worker_processes可以同时支持的最大连接数,这个值最大是1024
强调:
这部分的配置对Nginx的性能影响较大,在实际应用中,应该灵活配置
*/
events {
//表示支持的最大连接数是1024
    worker_connections  1024;
}

//第三部分   http块
/*
这部分,是Nginx服务器配置中最频繁的部分,代理、缓存和日志定义等绝大多数的功能和第三方模块的配置都在这里
注意:  http块 可以包括 http全局块 和 server块
每个http块可以包括多个server块,每个server块就相当于一个虚拟主机
每个server块也分为全局server块,以及可以同时包含多个location块
*/

/*
http全局块:
http全局块配置的指令包括 文件引入、MIME-TYPE定义、日志自定义、连接超时时间、单链接请求上限数等
*/
http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;

/*
server块
这块和虚拟主机有密切的关系。虚拟主机从用户角度看,和一台独立的硬件主机是完全一样的,该技术的产生是为了互联网服务器硬件成本。
*/
		//全局server块
    server {
		//Nginx目前监听的端口号 是 80
        listen       80; //修改此处,可以更改默认的端口号
		//表示主机名称是 localhost
        server_name  localhost;

		//location块
        location / {
            root   html;
            index  index.html index.htm;
        }

        location = /50x.html {
            root   html;
        }
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61

注:
1、当nginx接到请求后,会匹配其配置中的server模块,
匹配方法就是靠请求携带的host和port正好对应其配置中的server_name 和listen。
如果做过ip和域名绑定,ip和域名二者是对等的
比如服务器的ip地址为:10.3.78.55,在域名www.123.com和ip已经绑定的情况下,那么在上面的配置中的server_name无论是www.123.com还是10.3.78.55,我们都可以通过10.3.78.55:8080或www.123.com:8080来访问我们的网站
2、80端口是服务器提供网站访问服务的默认端口,在访问一个网站例如:www.9410.com.cn的时候,实际的完整地址是http://www.9410.com.cn:80,省略为www.9410.com.cn,这时候在做域名解析的时候完全不需要考虑端口的问题。
3、当用的不是默认端口的时候,比如服务器提供网页访问服务但用的端口是81的时候,就只能使用以下两种方式来解决了:
1),还是用域名指向功能,将域名直接解析到ip上,也就是在域名后加“:端口号”,即通过http://www.abc.com:81来访问;
2),改用域名url转发功能,假如ip是123.123.123.123,端口是81,那么设置www.abc.com转发到http://123.123.123.123:81。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/283053
推荐阅读
相关标签
  

闽ICP备14008679号