服务器、Nginx与Linux
一、购买服务器
直接上 aliyun.com 购买一台服务器:
点击 下一步:网络和安全组
,进入镜像的选择:
选择好镜像后,点击 下一步
,进入网络和安全组,这里主要是多加了一项 公网IP
,默认是勾选上的,但价格也会接近翻倍:
接下来直接 确认订单
:
二、工作台
至此,我们完成了购买,然后到你的 云服务器ECS
工作台
选择你购买的云服务器,点击进去。
这里看到你的公网IP,点击进入 管理
:
然后点击 重置实例密码
,这个密码你需要记住,是你登录服务器的密码。
然后点击 重启
。
三、Linux基本知识
先来简单学几个Linux指令。CentOS也是属于Linux系统。打开页面右上角的命令行图标:
1、登录服务器
执行:
2、文件颜色
首先,
这些文件是有颜色的:
蓝色 表示文件夹;
灰色 表示普通文件;
绿色 表示可执行文件;
红色 表示压缩文件;
天蓝色 表示链接文件(快捷方式);
常用目录的作用如下:
bin: 存放普通用户可执行的指令,普通用户也可以执行;
dev : 设备目录,所有的硬件设备及周边均放置在这个设备目录中;
boot : 开机引导目录,包括 Linux 内核文件与开机所需要的文件;
home: 这里主要存放你的个人数据,具体每个用户的设置文件,用户的桌面文件夹,还有用户的数据都放在这里。每个用户都有自己的用户目录,位置为:
/home/用户名
。当然,root 用户除外;usr: 应用程序放置目录;
lib: 开机时常用的动态链接库,bin 及 sbin 指令也会调用对应的 lib 库;
tmp: 临时文件存放目录 ;
etc: 各种配置文件目录,大部分配置属性均存放在这里;
3、文件操作
4、vim编辑器
通过 vim <文件名>
即可进入对该文件的编辑模式,按下 i
切换到编辑状态。
想要结束输入,可以按 esc
键,想要退出编辑模式,可以敲下 :wq
或者按快捷键:shift+zz
。
在命令模式下按下 i
就进入了输入模式。
在输入模式中,可以使用以下按键取消与显示行号:
5、杀死进程
查看进程:
查看到进程中的 PID
,然后执行:
6、SSH 上传/下载文件
SSH 可以通过 scp 命令来上传文件,是 Linux 系统下基于 SSH 登陆进行安全的远程文件拷贝命令,scp 是 secure copy 的简写,可以使用它上传本地文件夹到远程服务器,也可以从远程服务器上下载文件夹到本地:
-r
参数表示递归复制,即复制该目录下面的文件和目录,如果要上传单个文件,只要把 -r
删除。大写的 P
表示的是端口,如果还是默认的 SSH 端口 22 没有更改,则不需要 -P
。
注意:这两行代码要在你本机的终端运行,而不是在阿里云的终端。
7、FTP上传
你也可以使用ftp工具上传,如 File Zilla。点击即可下载。
使用也很简单:
按这里填写即可登录。然后:
四、Nginx
Nginx 是开源、高性能、高可靠的 Web 和反向代理服务器,而且支持热部署,几乎可以做到 7 * 24 小时不间断运行,即使运行几个月也不需要重新启动,还能在不间断服务的情况下对软件版本进行热更新。
这里我们重点提一下服务器安装Nginx、node及项目打包上线后产生的跨域问题的解决方案。
1、快速安装Nginx
首先,确保自己连接上了服务器 ssh 用户名@公网ip
,然后运行:
接着运行:
安装好后 nginx -v
可以查看 Nginx 版本信息。并且使用 rpm -ql nginx
可以查看 Nginx 被安装到了什么地方。
这里有两个文件夹要留意:
/etc/nginx/conf.d/
文件夹,是我们进行子配置的配置项存放处,/etc/nginx/nginx.conf
主配置文件会默认把这个文件夹中所有子配置项都引入;
/usr/share/nginx/html/
文件夹,通常静态文件都放在这个文件夹,也可以根据你自己的习惯放其他地方;
2、防火墙(如无开启过防火墙,直接忽略本步骤)
安装之后开启 Nginx,如果系统开启了防火墙,那么需要设置一下在防火墙中加入需要开放的端口,下面列举几个常用的防火墙操作(没开启的话不用管这个):
然后设置 Nginx 的开机启动:
启动 Nginx :
3、浏览器访问公网IP
在浏览器输入你的公网IP,无需端口号(默认80),如果看到 Welcome to nginx
之类的界面,就是Nginx安装并启动成功了。
4、安装 nvm & node & git
5、Nginx重启
6、Nginx配置文件
我们一般对Nginx的修改主要就是修改 /etc/nginx/nginx.conf
这个配置文件,nginx.conf
结构图可以这样概括:
通常我会找到server,然后做如下设置:
这里要确保你在 /usr/local
这个目录下创建了一个 html
文件夹。
7、反向代理解决跨域
反向代理是工作中最常用的服务器功能,经常被用来解决跨域问题,首先进入 Nginx 的主配置文件:
为了看起来方便,把行号显示出来 :set nu
,然后我们去 http
模块的 server
块中的 location /
同级的位置添加:
8、开启 gzip 压缩
gzip 是一种常用的网页压缩技术,传输的网页经过 gzip 压缩之后大小通常可以变为原来的一半甚至更小。更小的网页体积也就意味着带宽的节约和传输速度的提升,特别是对于访问量巨大大型网站来说,每一个静态资源体积的减小,都会带来可观的流量与带宽的节省。
这里可以使用 站长工具 对一个网站查询是否进行过gzip压缩。
可以看到我的这个ip目前是没有进行过gzip压缩的。然后我们如下操作:
接下来把下面代码粘贴进去:
然后退出编辑模式,执行:
然后再到站长工具测试:
可以看到,我们成功压缩了。
9、其他
关于Nginx还有很多亮点,例如:动静分离、负载均衡等等,我们就不再做更多的阐述。
特别鸣谢:
《Nginx 从入门到实践,万字详解!》 这篇文章给了很多启示,本文部分文字及代码参考了该文章,有兴趣的同学可以去深入阅读。
最后更新于