Ubuntu配置Nginx部署Vue SPA项目

news/2024/7/9 23:46:25 标签: nginx, nginx反向代理, vue

Ubuntu配置Nginx部署Vue SPA项目

文章记录了部署Vue SPA项目后可从ip访问的过程,因域名访问需要备案暂未尝试,后续若实行亦会更新在此处。

系统为Ubuntu18.04。

Nginx

网页服务器。默认配置即支持systemd服务(守护进程)。

守护进程可见上一篇博客:
linux二探

# ubuntu 平台安装(默认启动)
$ sudo apt install nginx
# 查看服务状态
$ sudo systemctl status nginx
# 启动
$ nginx
# 退出
$ nginx stop
# 修改配置后重启
$ nginx -s reload

# 可以配合 ps -ax | grep nginx 来查看当前 Nginx 使用的端口
# ps是 Progress Status 的缩写
# a代表all
# x表示显示所有程序,不以终端机区分
# | 是管道符号,表示ps和grep同时执行
# grep命令是查找(Global Regular Expression Print),可以用正则

安装好后,访问<your ip>,看见nginx的欢迎页就表示nginx成功了。

Nginx 配置

nginx默认用户是www-data,配置文件目录是 /etc/nginx/ ,全局配置文件是nginx.conf,网站资源目录是 /var/www/

www-data用户需要手动创建,且默认对以上目录无操作权限,需要手动赋权,赋权后才能修改配置、上传网站文件。

# 为用户赋权以修改配置、网站文件资源
# -R 是递归,应用于目录下的目录及文件
$ sudo chown www-data:www-data /etc/nginx /var/www -R
# 切换用户
$ su www-data
# 输入密码...

linux系统中,文件的上传用 sftp 比较方便,可以用客户端 Transmit、Terminus 等。

部署SPA步骤

1、配置网站资源位置
因为80端口为http的默认端口,如果我们是要部署到ip的根目录下,查看配置nginx.conf/sites_available/default ,即可获知 80端口的root配置,此配置即指向了站点网页的目录。

比如是server.80的root是/var/www/html,Vue SPA打包后得到了一个dist文件夹,需将root配置后再加个/dist
2、上传html资源
连接 sftp,前往/var/www/html,将打包好的 dist 文件夹丢到此处
3、保存配置,重启nginx

$ sudo nginx -t && sudo systemctl reload nginx

Nginx配置参考

贴2个我的配置文件以供参考,部分我所知的重要配置做了注释说明

# nginx.conf
user                 www-data; # 可以管理nginx配置、资源的用户,默认为www-data,可修改为ubuntu等用户
pid                  /run/nginx.pid;
worker_processes     auto;
worker_rlimit_nofile 65535;

# Load modules
include              /etc/nginx/modules-enabled/*.conf; # 载入模块化的配置

events {
    multi_accept       on;
    worker_connections 65535;
}

http {
    charset                utf-8;
    sendfile               on;
    tcp_nopush             on;
    tcp_nodelay            on;
    server_tokens          off;
    log_not_found          off;
    types_hash_max_size    2048;
    types_hash_bucket_size 64;
    client_max_body_size   16M;

    # MIME
    include                mime.types;
    default_type           application/octet-stream;

    # Logging
    access_log             /var/log/nginx/access.log;
    error_log              /var/log/nginx/error.log warn;

   
    # Load configs
    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*; # 载入各站点的配置
}
# sites-available/default.conf
server {
	listen 80 default_server; # 配置80端口,并将此配置设为默认服务
	listen [::]:80 default_server;

	root /var/www/html/dist; # 指向目录/var/www/html/dist
	index index.html index.htm index.nginx-debian.html; # 指向文件index.html

	server_name _;

	# 重定向配置,当Vue项目为history模式时需配置
	# 将所有根目录的返回都指向index.html避免404,交由前端页面处理404状态
	location / {
      try_files $uri $uri/ /index.html;
	}
	# 代理配置,将以 /api开头的请求指向api服务器,解决前后端分离的跨域问题
    location ^~/api {
      proxy_pass http://api.you-host.com/api
    }

}


http://www.niftyadmin.cn/n/913933.html

相关文章

手机RPG游戏DEMO源代码

阅读全文 转载于:https://www.cnblogs.com/cxun/archive/2006/11/11/557613.html

【BZOJ1096】【ZJOI2007】仓库建设(斜率优化,动态规划)

【BZOJ1096】【ZJOI2007】仓库建设&#xff08;斜率优化&#xff0c;动态规划&#xff09; 题面 Description L公司有N个工厂&#xff0c;由高到底分布在一座山上。如图所示&#xff0c;工厂1在山顶&#xff0c;工厂N在山脚。由于这座山处于高原内 陆地区&#xff08;干燥少雨&…

openjdk java -XX:MaxRAMFraction docker容器内自动调整内存限制-Xmx

利用openjdk -XX:MaxRAMFraction参数&#xff0c;不同参数值结果如下 [yeqianglocalhost testproj]$ docker run -m 1G -it --rm adoptopenjdk/openjdk8 java -XX:MaxRAMFraction1 -XshowSettings:vm -version VM settings:Max. Heap Size (Estimated): 989.88MErgonomics M…

浅学Docker

Docker 因玩&#xff0c;需要在云服务器安装mongodb环境&#xff0c;又常听后端小伙伴说docker怎么怎么好&#xff0c;于是学习一波&#xff0c;后将mongodb装在docker的容器中&#xff0c;看看它有多好。 1、概念 ps: 概念方面写多是自己的白话理解&#xff0c;直观、方便理解…

[转载]HAO123的迷思——谈谈SEO

都时兴WEB2.0了&#xff0c;我还打算谈SEO&#xff0c;确实有一点落伍。事情是这样的&#xff0c;我最近要写一个无聊的方案书&#xff0c;提纲已经拟了一个月了&#xff0c;就是懒得写正文。所以我决定把内容拆开了写&#xff0c;独立成章&#xff0c;这样可以发挥我离题万里的…

CentOS jvm 查看当前java进程的启动参数

启动一个java $ java -Xmx1G -jar jenkins.war 获得进程 [yeqianglocalhost ~]$ jps -lv | grep jenk 51152 jenkins.war -Xmx1G查看启动参数 [yeqianglocalhost ~]$ jcmd 51152 VM.flags 51152: -XX:CICompilerCount3 -XX:InitialHeapSize526385152 -XX:MaxHeapSize107374…

人体发病的“红灯”信号

信息来源&#xff1a;"西安新闻网-西安晚报"网页&#xff1a;http://www.xawb.com/gb/news/2006-11/15/content_1031369.htm 指甲信号&#xff1a; 指甲上有白点&#xff0c;表示缺锌&#xff0c;指甲易断裂&#xff0c;是缺铁。补救办法&#xff1a;多吃些菠菜、肝…

349. Intersection of Two Arrays

Given two arrays, write a function to compute their intersection. Example:Given nums1 [1, 2, 2, 1], nums2 [2, 2], return [2]. Note: Each element in the result must be unique.The result can be in any order.题目含义&#xff1a;求两个数组的公共元素&#xff…