由于前端任务紧张,帮忙部署下前端页面,早就听过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
然后访问页面,发现报错:
最开始一直以为配置有问题,又搜寻了各种配置方案,发现都无法访问,最后找到了一个解决方案:
[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
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。