1.创建前端项目目录
进入/var文件夹
cd /var
在/var目录下创建www文件夹
mkdir www
进入/var/www目录,创建test文件夹
cd www #进入www目录
mkdir test
2.将前端编译后的文件上传到/var/www/test目录
3.配置nginx下test目录及选项
进入/etc/nginx/conf.d/目录
cd /etc/nginx/conf.d/
打开default.conf,写入test的相关配置
server {
listen 80; # nginx监听端口
server_name localhost; #若有域名则将localhost替换为域名
#charset koi8-r;
#access_log /var/log/nginx/host.access.log main;
location / {
root /var/www/test; #test项目路径
index index.html index.htm; #默认起始页
try_files $uri $uri/ /index.html; #spa前端项目路由配置
}
#error_page 404 /404.html;
# 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;
#}
}
4.测试部署
curl localhost #假设项目端口为80则为localhost
如若返回的html字符串中没有异常报错的状态码则为成功
5.错误问题排查
1)主机内使用curl可以访问,客户端机器无法访问
解决方法:检查当前主机防火墙是否开放监听的端口
查看当前主机开放的端口
firewall-cmd --list-ports
开放主机端口
firewall-cmd --add-port=80/tcp --permanent
关闭主机端口
firewall-cmd --remove-port=80/tcp --permanent
注意:执行完开放或者关闭端口后需要重启防火墙
firewall-cmd --reload
2)主机内外都无法访问页面,但都能访问nginx提示403 forbidden的错误页面
解决办法:可能为SELinux为开启的状态,关闭SELinux即可
查看SELinux状态
/usr/sbin/sestatus -v ##如果SELinux status参数为enabled即为开启状态
临时关闭(不用重启机器,当前设置可用于验证是否为SELinux开启导致403的错误)
setenforce 0 ##设置SELinux 成为permissive模式
##setenforce 1 设置SELinux 成为enforcing模式
永久关闭,编辑SELinux(需要重启)
vi /etc/selinux/config # 将SELINUX=enforcing 改为 SELINUX=disabled