0前期准备

0.1 安装基础环境

yum -y install gcc gcc-c++ autoconf pcre-devel make automake

yum -y install wget httpd-tools vim

0.2建立根目录

  • 进入系统后,在目录下建立了一个linjiad的文件夹,命令是 mkdir linjiad。
  • 进入 linjiad文件夹 ,命令是 cd linjiad。
  • 分别使用mkdir建立 app,backup,download,logs,work文件夹。

1安装Nginx

1.1准备安装

yum list | grep nginx

结果显示nginx的各个版本,如图所示:
如图所示

创建一个文件

vim /etc/yum.repos.d/nginx.repo

复制进去这些配置

1
2
3
4
5
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/OS/OSRELEASE/$basearch/
gpgcheck=0
enabled=1

因为我的是centos和7的版本,所以改为这样。

1
baseurl=http://nginx.org/packages/centos/7/$basearch/

1.2开始安装

安装的命令非常简单:

yum install nginx

出现如图所示
如图所示
则证明安装成功

2修改Nginx的配置

2.1查看nginx的安装

查看nginx安装到哪里

rpm -ql nginx
出现如图所示
如图所示

其中nginx.conf 文件是Nginx总配置文件,在我们搭建服务器时经常调整的文件。

2.2配置nginx.conf

进入etc/nginx目录下,然后用vim进行打开

cd /etc/nginx
vim nginx.conf

配置如下:

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
#运行用户,默认即是nginx,可以不进行设置
user nginx;
#Nginx进程,一般设置为和CPU核数一样
worker_processes 1;
#错误日志存放目录
error_log /var/log/nginx/error.log warn;
#进程pid存放位置
pid /var/run/nginx.pid;


events {
# 单个后台进程的最大并发数
worker_connections 1024;
}


http {
#文件扩展名与类型映射表
include /etc/nginx/mime.types;
#默认文件类型
default_type application/octet-stream;

log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
#nginx访问日志存放位置
access_log /var/log/nginx/access.log main;
#开启高效传输模式
sendfile on;
#减少网络报文段的数量
#tcp_nopush on;
#保持连接的时间,也叫超时时间
keepalive_timeout 65;
#开启gzip压缩
#gzip on;
#包含的子配置项位置和文件
include /etc/nginx/conf.d/*.conf;
}

进入进入conf.d目录vim default.conf进行查看。
conf.d目录下的配置相当于子配置,配置如下

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
server {
listen 80; #配置监听端口
server_name localhost; //配置域名

#charset koi8-r;
#access_log /var/log/nginx/host.access.log main;

location / {
root /usr/share/nginx/html; #服务默认启动目录
index index.html index.htm; #默认访问文件
}

#error_page 404 /404.html; # 配置404页面

# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html; #错误状态码的显示页面,配置后需要重启
location = /50x.html {
root /usr/share/nginx/html;
}

# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}

# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}

通过这个配置我们可以知道我们的服务目录放在了/usr/share/nginx/html下,可以使用命令进入看一下目录下的文件

cd /usr/share/nginx/html
ls

3Nginx的命令

3.1启动Nginx服务

在CentOS7.4版本里(低版本是不行的),是可以直接直接使用nginx启动服务的。

Nginx

使用systemctl命令启动
还可以使用个Linux的命令进行启动,我一般都是采用这种方法进行使用。因为这种方法无论启动什么服务,都是一样的,只是换一下服务的名字(不用增加额外的记忆点)。

systemctl start nginx.service

输入命令后,没有任何提示,那我们如何知道Nginx服务已经启动了哪?可以使用Linux的组合命令,进行查询服务的运行状况。

ps aux | grep nginx

如果启动成功会出现如下图片中类似的结果。
如图所示

3.2停止Nginx服务

停止Nginx 方法有很多种,可以根据需求采用不一样的方法。

  • 立即停止服务 :这种方法比较强硬,无论进程是否在工作,都直接停止进程。

    nginx -s stop

  • 从容停止服务:这种方法较stop相比就比较温和一些了,需要进程完成当前工作后再停止。

    nginx -s quit

  • killall 方法杀死进程:这种方法也是比较野蛮的,我们直接杀死进程,但是在上面使用没有效果时,我们用这种方法还是比较好的

    killall nginx

  • systemctl 停止

    systemctl stop nginx.service

    3.2重启Nginx服务

  • 重启Nginx服务

    systemctl restart nginx.service

  • 重新载入配置文件:重新编写或者修改Nginx的配置文件后,都需要作一下重新载入

    nginx -s reload

    3.3查看端口号

    在默认情况下,Nginx启动后会监听80端口,从而提供HTTP访问,如果80端口已经被占用则会启动失败。我么可以使用netstat -tlnp命令查看端口号的占用情况。

    netstat -tlnp

    4 自定义错误页面

    4.1 通用错误页面

    在/etc/nginx/conf.d/default.conf 是可以看到下面这句话的。

    error_page 500 502 503 504 /50x.html;

error_page指令用于自定义错误页面,500,502,503,504 这些就是HTTP中最常见的错误代码,/50.html 用于表示当发生上述指定的任意一个错误的时候,都是用网站根目录下的/50.html文件进行处理。


4.2 单独错误页面

  • 单独为错误置顶处理方式
    有些时候是要把这些错误页面单独的表现出来,给用户更好的体验。所以就要为每个错误码设置不同的页面。设置方法如下:

    error_page 404 /404_error.html;

然后到网站目录下新建一个404_error.html 文件,并写入一些信息。

1
2
3
4
5
6
<html>
<meta charset="UTF-8">
<body>
<h1>404页面没有找到!</h1>
</body>
</html>

然后重启我们的服务,再进行访问,你会发现404页面发生了变化。


4.3 错误页面换成地址

把错误码换成一个地址
处理错误的时候,不仅可以只使用本服务器的资源,还可以使用外部的资源。比如我们将配置文件设置成这样。
error_page 404 http://www.baidu.com;
我们使用了百度作为404页面没有找到的提示,就形成了,没有找到文件,就直接跳到了百度上了。

最后更新: 2018年11月25日 17:24

原始链接: http://linjiad.github.io/2018/11/10/Nginx服务1/

× 请我吃糖~
打赏二维码