本文是记录笔者在一个裸的Ubuntu server系统中做了哪些东西。主要有安装node环境,nginx,到部署前端项目。
切换用户
添加root用户
sudo passwd root
切换root用户
su
切换普通用户
su ubuntu
看一下此时的目录结构
如果直接用root账户操作,会有误操作的风险。所以一般新建一个用户,并给其root权限。避免翻车~
创建一个新用户: adduser [username] 添加root权限 usermod -aG sudo cwl
安装Nginx
我当前没有nginx
更新软件包 开始的时候用apt update
居然被拒绝了,然后尝试加了个sudo才可以,并且还要让我输密码,我不是已经添加到sudo组里面了吗?不太清楚这里的关系
再尝试一遍,还是不得行
算了,直接用sudo apt update
吧。更新完之后就可以安装nginx
了。
sudo apt install nginx -y
nginx安装完成
、
安装git
安装git之后,我们同步代码就比较方便,不然要用ftp的方式复制代码到线上去。如果用git,直接就可以拉取代码。
sudo apt install git -y
安装完成后,就可以使用git命令
配置ssh-key,生成公钥
使用cat命令查看公钥并复制到我们的git上去
安装node环境
sudo apt install node -y
发现它居然没有node这个包,噢!原来他叫nodejs,出现了相关的版本信息
sudo apt install nodejs -y
安装npm
sudo apt install npm -y
设置淘宝镜像
npm config set registry https://registry.npm.taobao.org npm config get registry
npm i -g nrm
咋换个源安装nrm管理node版本还不行呢,算了,还是不用淘宝的源了,还是换回去吧。哎,试试手动换源清华源地址
然后
sudo apt-get update && apt-get upgrade
咋换个源还不行了呢,哎,留个坑!换源后404
部署前端页面
用xftp这个软件来进行文件的上传,但是使用root账号时用户拒绝访问。
- 执行该命令,修改配置文件
sudo vi /etc/ssh/sshd_config
点击i切换至编辑模式,找到#Authentication
,修改PermitRootLogin
和PasswordAuthentication
参数
这两个参数如果前面有#,则去除#;如果没有,则添加PermitRootLogin yes
PasswordAuthentication yes
点击esc,输入:wq,点击Enter - 执行该命令,重启ssh服务
sudo service ssh restart
登录成功,然后我们可以使用ftp
上传文件了
我这里是直接将dist打包好的文件直接上传了,也可以通过git拉取代码然后直接打包,更厉害的还可以自动化拉取代码,只要我推到git上了,就可以同步更新。笔者以后再尝试。
然后我们修改nginx默认配置文件就好了
使用FTP工具登录到服务器之后可以看到 sites-enabled
文件夹下默认有一个default
,但是上面有一个类似快捷方式的图标,实际上这是一个软链接,链接的文件在 sites-available
中。 PS:当我们更改sites-available
中的default
文件后,会发现sites-enabled
中的default
文件也同步改变。 我们可以直接修改sites-available
的default 来设置第一个站点,我们通过FTP工具把这个文件下载下来修改之后再上传。
这里笔者采用的是最最最简单的部署方式,直接使用的是nginx的默认80
端口,只是把资源路径换了一下而已。
server { listen 80 default_server; listen [::]:80 default_server; # dist文件目录 root /var/www/html/dist; # 先匹配index 再匹配index.html ....... index index.html index.htm index.nginx-debian.html; server_name _; # 没有对应的路径就是404 location / { # First attempt to serve request as file, then # as directory, then fall back to displaying a 404. try_files $uri $uri/ =404; } }
配置文件修改完成之后,运行下面三条指令
sudo /usr/sbin/nginx -t # 检查配置是否正确 sudo /usr/sbin/nginx # 启动服务 sudo /usr/sbin/nginx -s reload # 重新载入配置
访问成功
问题遗留
- 使用清华源换源之后还是不太行,不知道为啥子
- nginx多个站点部署,怎么在部署大型项目时更加的规范
这周的瞎折腾就到此为止吧,溜了,要去复习计网和写实验报告了,不弄就来不及了(哭了!)