如何搭建 Linux ECS 服务器并将部署自己项目到服务器上

搭建 Linux ECS 服务器

购买与基本配置

  • 云服务
  • 注册成为阿里云用户,购买ECS云服务器
  • 购买选择
    1. 地域及可用区:按自己想法选择
    2. 实例规格:按自己位置选择
    3. 镜像:默认选择CentOs即可
    4. 网络类型:默认
    5. 公网带宽:按自己经济条件选择
    6. 购买数量和时长:按需求选择
  • 几个重要的地方
    1. ip地址:公网ip:是用于客户端连接服务器所用的地址(主机)
    2. 重置密码:操作-->更多-->密码/秘钥-->重置实例密码
    3. 记住:ip地址和自己的重置密码(记不住就回来重置一下)

连接 Linux 服务器

  • 工具

    免费:putty finalshell git-bash cmder mac命令端 linux桌面

    收费:xshell SecureShell

    这里我用的putty工具进行链接
  • 链接与登陆
    1. 打开putty输入:host Name(公网ip)、port(默认22就行)确认即可

      点击连接,第1次会看到提示,选择 是 就可以
    2. 进去会让你输入login as:一般输入root即可
    3. password:你设置的密码(linux中对于密码是隐式显示,输入后在终端中看不到字符)

Nginx 详解

Nginx是开源免费的一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。其特点是占有内存少,并发能力强,使用nginx网站用户有很多,如百度、京东、新浪、网易、腾讯、淘宝等


官网


中文文档

1、安装

在安装nginx前首先查看一下linux服务器版本

cat /etc/redhat-release

这里我的linux是8.1版本的(CentOs 8.x)

方式一:yum安装

  • 默认端口号为 80
  • 默认配置文件名称 nginx.conf
  • nginx默认web路径中 /usr/share/nginx/html (存放我们的前端项目)
  1. 安装:

yum install nginx

  1. 启用并启动Nginx服务

sudo systemctl enable nginx


sudo systemctl start nginx

  1. 当然nginx默认会被安装到/usr/sbin/nginx下因此可以直接执行如下命令启动

/usr/sbin/nginx

  1. 要验证服务是否正在运行,检查其状态

sudo systemctl status nginx

  1. 查看当前服务器中运行端口

netstat -tunpl

  1. -tunpl解释:
    • t: tcp
    • u: udp
    • n: 显示端口应用名称
    • p: pid
    • l: 只查看正在运行
  1. 扩展方法
    • 停止服务器

方法一: sudo systemctl stop nginx


方法二:/usr/sbin/nginx -s stop


方法三: 杀死进程 pkill nginx

    • 重启

/usr/sbin/nginx -s reload 不会让服务器停止,只会重新加载nginx配置让配置生效 平滑重启


/usr/sbin/nginx -s restart 先停止服务,再重启服务

方式二:自定义目录安装

  1. 安装工具和库依赖软件一定要安装,否则后面的nginx将无法正常安装成功。

yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel pcre pcre-devel

  1. 解释:
    • PCRE是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式
    • zlib库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip
  1. 创建一个文件夹

cd /usr/local


mkdir nginx


cd nginx

  1. 下载tar包

wget http://nginx.org/download/nginx-1.19.0.tar.gz


tar -xvf nginx-1.19.0.tar.gz

  1. 安装nginx

进入目录:cd nginx-1.19.0


执行命令:./configure


执行make命令: make


执行make install命令:make install

  1. 检查安装

    cd到刚才配置的安装目录

cd /usr/loca/nginx/


./sbin/nginx -t

  1. 正常情况的信息输出:
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

2、启动nginx

  • 启动 nginx 服务

/usr/local/nginx/sbin/nginx

  • 注:启动时一定要确保80端口没有被占用

netstat -tunpl

  • 其他:

/usr/local/nginx/sbin/nginx -s reload # 重新载入配置文件


/usr/local/nginx/sbin/nginx -s stop # 停止 Nginx


/usr/local/nginx/sbin/nginx -t # 检查配置文件书写是否正确

3、解决80端口被占用

解决Nginx启动报nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
  1. 出现这种情况一般是80端口被占用,使用sudo fuser -k 80/tcp 命令关闭80端口即可

sudo fuser -k 80/tcp

  1. 如果没有成功可以先关闭一下防火墙再关闭80端口试一下

使用命令:systemctl status firewalld.service 查看防火墙状态


使用命令:systemctl stop firewalld.service 关闭运行的防火墙

4、彻底卸载和删除CentOS上的Nginx

  1. 首先查看是否在运行nginx

ps -ef | grep nginx

  1. 如果在运行先停止nginx

/usr/local/nginx/sbin/nginx -s stop

  1. 查看nginx安装目录

whereis nginx

  1. 删除相关文件

rm -rf /usr/sbin/nginx


rm -rf /etc/nginx


rm -rf /etc/init.d/nginx

  1. 使用yum卸载 nginx及相关依赖

yum remove nginx

  1. 检查是否还有残余文件,有的话执行步骤3继续删除

whereis nginx

目录介绍

安装成功后,进入到安装后的目录中


cd /usr/local/nginx, 看到如下4个主要目录

  • conf: 配置文件 配置虚拟主机文件就在此
  • html: nginx默认web根路径位置
  • logs: 日志文件
  • sbin: 二进制程序 启动/停止/重载服务命令就在此

配置 nginx.conf

配置文件语法

http段 => server段 => location段

  • http段: 是要包含所有的Server段,即将nginx所有的虚拟主机配置包含进去
  • server段: 一个server即一个虚拟主机配置段落,后期有多少个虚拟主机取决于server段
  • location段:每个location段即表示该虚拟主机中的一个模块功能配置 域名后台的地址
  • 注:
    • 配置后面分号不能少,{} 和配置之间要有空格
    • nginx配置文件中每一行的结束都要写上 分号 ;
http{
server{
location /a {
root /a
}
location /b {
alias /a
}
}
}

配置虚拟主机

一台服务器上面,有时候会绑定多个不同的域名,这时就需要我们来配置nginx让其支持多域名的虚拟主机(或多端口web服务器)。


步骤:

  1. 在nginx配置文件中新增一个server节点
  2. 在server节点中,修改对应的站点目录
  3. 重载nginx服务 nginx -s reload
server {
listen 80; # 端口
server_name www.aa.com; # 域名
root /web/www.aa.com; # 网站目录路径
index index.html; # 默认缺省文件
charset utf-8;
access_log logs/ www.aa.com.access.log main;
error_page 404 403 500 502 503 504 /50x.html;
}

开启gzip

压缩文件大小变小了,传输更快了,提高网站的访问速度和并发量。目前市场上浏览器都是支持GZIP的。IE6以下支持不好,会出现乱码情况。


操作步骤:

  1. 修改配置,开启gzip压缩
  2. 重载nginx配置
  3. 测试是否有压缩
## http 节点中设置
# 开启gzip
gzip on;
# 设置将被gzip压缩的响应的最小长度
gzip_min_length 200;
# 压缩级别 1-9
gzip_comp_level 6;
# 压缩在缓冲区块数和每块大小
gzip_buffers 32 4k; # | 16 8k;
# 设置压缩响应所需的最低HTTP请求版本
gzip_http_version 1.0;
gzip_types text/plain text/css text/xml application/xml application/json application/javascript;


动手发布一个自己的项目到服务器上

一、购买一个阿里云服务器

这里在上面购买已经提到过了需要注意以下几点

  1. 记录自己的:公网ip
  2. 操作-->更多-->密码/秘钥-->重置实例密码
  3. 操作-->更多-->网络和安全组->安全组配置

    进入后,查看规则列表中,有没有80端口,如果没有则需要添加一条规则

二、putty 登陆服务器

  1. 打开putty输入:host Name(公网ip)、port(默认22就行)点击确认即可

    点击连接,第1次会看到提示,选择 是 就可以
  2. 进去会让你输入login as:一般输入root即可
  3. password:你设置的密码(linux中对于密码是隐式显示,输入后在终端中看不到字符)

三、服务器上安装nginx

  1. 上面已经有安装方法,按照步骤安装完成即可
  2. 直接通过域名或ip地址访问nginx服务器(不同版本的nginx展示不一样)
  3. nginx下的html文件存放的就是我们前端要打包部署的文件

四、上传项目

这里我们使用fileZlia可视化工具来辅助完成刚上传工作

  1. 打开 fileZlia 工具连接linux服务器
  2. 进去到/usr/local/nginx/sbin/nginx/html目录下,
  3. 将我们vue项目打包好的dist存放到这里
  4. 这里如果dist过大会很慢,我们可以放入一个dist.zip文件
  5. 解压dist.zip

    进去终端执行

cd /usr/local/nginx/sbin/nginx/html


unzip dist.zip 解压

五、配置niginx的nginx.conf

进去到/usr/local/nginx/sbin/nginx/conf目录下,找到nginx.conf


配置 server项

location / {
root html/dist;
index index.html index.htm;
}
上一篇:OpenAPI (Kong) Benchmark


下一篇:Mac&Win功能键魔改:让CapsLock焕发第二春