1

由于前端任务紧张,帮忙部署下前端页面,早就听过nginx的大名,所以初步选定了nginx的方案

安装nginx

环境:CentOS 7.4
注:本文所有命令都是在root用户下执行的,如果是普通用户,请加sudo
安装很简单,直接一条命令搞定(不过yum安装的一般都不是最新版本,如果要装最新版本请自行下载安装):

yum install -y nginx

前提是可以连外网,如果连不了外网,可以用其他方式将安装包下载下载安装,这里就不描述了,网上有很多帖子可以参考。

配置nginx

如果不知道nginx的配置文件路径,可以用如下命令查看:

nginx -t
[root@local]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

打开配置文件/etc/nginx/nginx.conf
修改对应的server模块内容

    server {
        listen       8080 default_server;
        #listen       [::]:80 default_server;
        server_name  _;
        #root         /usr/share/nginx/html;
        root          /home/front/dist;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        location / {
        root          /home/front/dist;
        }

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }

主要修改点:
1、端口,这个可选的,默认80,这里改为了8080
2、ipv6地址监听地址被注释掉了,这个随意,根据需求来
3、server_name应该是对应域名,这里没有用到,没有动
4、root /home/front/dist;这个表示web的访问目录,需要改为自己的web页面所在目录
5、include没有改动,也没研究其作用是啥
6、location中增加了root /home/front/dist;
7、error_page就用了nginx默认的,没有修改

改好之后保存退出

启动nginx

执行命令

[root@local]# nginx

然后访问页面,发现报错:
image.png
最开始一直以为配置有问题,又搜寻了各种配置方案,发现都无法访问,最后找到了一个解决方案:

[root@local /home/front]# vi /etc/nginx/nginx.conf

# For more information on configuration, see:
#   * Official English Documentation: http://nginx.org/en/docs/
#   * Official Russian Documentation: http://nginx.org/ru/docs/

user nginx;

是由于权限问题,我是用root用户启动的nginx,但是配置中的用户默认的是nginx,所以将其user nginx改为root即可。
重新加载配置,并启动nginx

nginx -s reload

大功告成。
不过这都是本地访问用,没有用安全连接,如果要用安全连接,需要配置证书。同时这里使用的是http 1.1,如果要使用http 2.0协议,也需要配置http2.

nginx常用命令

使用nginx帮助可以查看

[root@local /home/front]# nginx -h
nginx version: nginx/1.16.1
Usage: nginx [-?hvVtTq] [-s signal] [-c filename] [-p prefix] [-g directives]

Options:
  -?,-h         : this help
  -v            : show version and exit
  -V            : show version and configure options then exit
  -t            : test configuration and exit
  -T            : test configuration, dump it and exit
  -q            : suppress non-error messages during configuration testing
  -s signal     : send signal to a master process: stop, quit, reopen, reload
  -p prefix     : set prefix path (default: /usr/share/nginx/)
  -c filename   : set configuration file (default: /etc/nginx/nginx.conf)
  -g directives : set global directives out of configuration file

常用的:
nginx -t :上文已用过,主要是测试配置文件是否有语法错误
nginx -s :主要是向nginx主进程发送信号进行处理,帮助信息里面也列出了信号名称:stop, quit, reopen, reload

nginx -s stop:强制停止Nginx服务
nginx -s quit:优雅地停止Nginx服务(即处理完所有请求后再停止服务)
nginx -s reopen:重启Nginx
nginx -s reload:重新加载Nginx配置文件,然后以优雅的方式重启Nginx

参考

https://blog.csdn.net/qq_35843543/article/details/81561240
https://docs.nginx.com/nginx/admin-guide/web-server/
https://www.cnblogs.com/alice-bj/articles/9298177.html


laughbug
275 声望2 粉丝

Quitters never win and winners never quit.