本文是记载笔者在一个裸的Ubuntu server系统中做了哪些东西。主要有装置node环境,nginx,到布置前端项目。

前期准备:瞎折腾系列之树莓派装置/登录

切换用户

增加root用户

sudo passwd root

在一个裸的Ubuntu server中我做了哪些
切换root用户

su

在一个裸的Ubuntu server中我做了哪些

切换普通用户

su ubuntu

看一下此刻的目录结构

在一个裸的Ubuntu server中我做了哪些
假如直接用root账户操作,会有误操作的危险。所以一般新建一个用户,并给其root权限。避免翻车~

创立一个新用户:
adduser [username]
增加root权限
usermod -aG sudo cwl

在一个裸的Ubuntu server中我做了哪些

装置Nginx

我当前没有nginx

在一个裸的Ubuntu server中我做了哪些

更新软件包 开始的时候用apt update居然被拒绝了,然后尝试加了个sudo才能够,而且还要让我输暗码,我不是现已增加到sudo组里面了吗?不太清楚这里的关系

在一个裸的Ubuntu server中我做了哪些
再尝试一遍,仍是不得行

在一个裸的Ubuntu server中我做了哪些

算了,直接用sudo apt update吧。更新完之后就能够装置nginx了。

sudo apt install nginx -y

nginx装置完结

在一个裸的Ubuntu server中我做了哪些

在一个裸的Ubuntu server中我做了哪些

装置git

装置git之后,咱们同步代码就比较方便,否则要用ftp的方式仿制代码到线上去。假如用git,直接就能够拉取代码。

sudo apt install git -y

装置完结后,就能够运用git指令

在一个裸的Ubuntu server中我做了哪些

装备ssh-key,生成公钥

在一个裸的Ubuntu server中我做了哪些
运用cat指令查看公钥并仿制到咱们的git上去

在一个裸的Ubuntu server中我做了哪些

在一个裸的Ubuntu server中我做了哪些

装置node环境

sudo apt install node -y

在一个裸的Ubuntu server中我做了哪些
发现它居然没有node这个包,噢!本来他叫nodejs,出现了相关的版别信息

在一个裸的Ubuntu server中我做了哪些

sudo apt install nodejs -y

在一个裸的Ubuntu server中我做了哪些

装置npm

sudo apt install npm -y

设置淘宝镜像

npm config set registry https://registry.npm.taobao.org
npm config get registry

在一个裸的Ubuntu server中我做了哪些

npm i -g nrm

咋换个源装置nrm管理node版别还不行呢,算了,仍是不用淘宝的源了,仍是换回去吧。哎,试试手动换源 清华源地址

在一个裸的Ubuntu server中我做了哪些
然后

sudo apt-get update && apt-get upgrade

咋换个源还不行了呢,哎,留个坑! 换源后404

在一个裸的Ubuntu server中我做了哪些

布置前端页面

用xftp这个软件来进行文件的上传,可是运用root账号时用户拒绝拜访。

在一个裸的Ubuntu server中我做了哪些

  1. 履行该指令,修正装备文件
    sudo vi /etc/ssh/sshd_config
    点击i切换至编辑形式,找到#Authentication,修正PermitRootLoginPasswordAuthentication参数
    这两个参数假如前面有#,则去除#;假如没有,则增加
    PermitRootLogin yes
    PasswordAuthentication yes
    点击esc,输入:wq,点击Enter
  2. 履行该指令,重启ssh服务
    sudo service ssh restart

登录成功,然后咱们能够运用ftp上传文件了

在一个裸的Ubuntu server中我做了哪些

在一个裸的Ubuntu server中我做了哪些
我这里是直接将dist打包好的文件直接上传了,也能够通过git拉取代码然后直接打包,更厉害的还能够自动化拉取代码,只需我推到git上了,就能够同步更新。笔者今后再尝试。

然后咱们修正nginx默许装备文件就好了

在一个裸的Ubuntu server中我做了哪些

运用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 # 重新载入装备

拜访成功

在一个裸的Ubuntu server中我做了哪些

问题留传

  1. 运用清华源换源之后仍是不太行,不知道为啥子
  2. nginx多个站点布置,怎样在布置大型项目时愈加的标准

这周的瞎折腾就到此为止吧,溜了,要去温习计网和写实验报告了,不弄就来不及了(哭了!)