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 | [nginx] |
因为我的是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 | #运行用户,默认即是nginx,可以不进行设置 |
进入进入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
44server {
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