服务器部署过程

服务器部署过程

  • 步骤
  1. 购买自己的域名
  2. 域名备案
  3. 购买服务器
  4. 配置服务器应用环境
  5. 项目远程部署和发布与更新
  • 购买域名
  1. 腾讯云
  2. 阿里云
  3. 百度云
  4. 爱名网
  5. godaddy
  • 云主机
  1. 阿里云 ECS
  2. 亚马逊 AWS
  3. 百度云
  • 备案
  1. 阿里云备案
  2. 备案服务号管理

登录服务器(以阿里云为例子)

  • 连接服务器
ssh root@60.205.231.190
  • ssh无密码登录
  1. 在自己的电脑上生成私钥和公钥
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
//-t 指定是rsa算法
//-b 指定公钥和私钥的大小,这里是四个字节,越大安全,性能也就越差
//-C 指定邮箱
//会在~/.ssh目录下面生成id_rsa和id_rsa.pub文件,公钥可以给别人,但是私钥一定不能给别人
  1. ssh加密解密比较慢,客户端可以开启ssh代理,加快速度
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa
  1. 服务器配置
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
eval "$(ssh-agent -s)"//开启ssh代理服务,加快解密速度
ssh-add ~/.ssh/id_rsa
  1. 把本地的公钥上传到服务器授权文件中
//1. 在服务器.ssh目录下新建授权文件
vi ~/.ssh/authorized_keys
//2. 将本地的公钥id_rsa.pub文件内容拷贝到服务器授权文件中
  1. 执行完以上步骤,在执行以下ssh登录就不需要密码登录了
ssh root@60.205.231.190

增加ssh连接服务器安全等级

  1. 修改/etc/ssh/sshd_config 这个文件
vi /etc/ssh/sshd_config
// Port 2222 默认ssh的默认端口是22,我们将他改成2222
//PermitRootLogin yes 默认为yes,改为no, 用户就不能以root用户登录了
//PasswordAuthentication yes 默认为yes, 可以密码登录,改为no, 用户就不能以密码登录了,只能以公钥和私钥的形式登录
  1. 重启ssh
systemctl restart sshd.service
  1. 此时再以22端口登录的话就报错了
ssh: connect to host 60.205.231.190 port 22: Connection refused
  1. 正确的登录方式
ssh -p 2222 root@60.205.231.190

安装部署需要的其他软件

yum install wget curl git

安装node

//1. 安装nvm
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash
//2. 安装node指定版本
nvm install 8.11.3
//3. 使用指定版本
nvm use 8.11.3
//4. 查看node版本
node -v
//5. 用cnpm替换npm提高下载模块速度
npm i cnpm -g

编写node程序

vi ~/node/demo.js
...
const http = require('http');
const hostname='60.205.231.190';
const port = 3000;

const server = http.createServer((req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-type', 'text/plain');
  res.end('hello world');
})

server.listen(port, hostname, ()=>{
  console.log(`Server running at http://${hostname}:${port}`);
})
...
node demo.js
//地址栏输入http://60.205.231.190:3000/程序既可跑起来了

安装pm2

//全局安装
npm install pm2 -g
//启动一个项目
pm2 start app.js --name 'demo'
//查看这个项目的详细信息
pm2 show demo
//删除该项目
pm2 delete demo
//查看pm2当前启动的项目
pm2 list

安装nginx

  1. 安装
//安装nginx依赖环境
yum install gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel -y
cd ~ && mkdir source && cd source
wget http://nginx.org/download/nginx-1.12.0.tar.gz
tar zxvf nginx-1.12.0.tar.gz
cd nginx-1.12.0
//生成makefile文件
./configure
make && make install
  1. 将nginx添加到环境变量
ln -s /usr/local/nginx/sbin/nginx /usr/local/bin/nginx

ps: 上面语法是为nginx创建一个软连接,
具体语法是ln -s 源文件 目标文件,要写成绝对路径

  1. nginx 相关命令
//启动
nginx 
//检查nginx配置是否错误
nginx -t
//重启nginx
nginx -s reload
//关闭nginx
nginx -s stop
  1. 参考更多nginx

安装mysql

cd ~/source
wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
sudo rpm -Uvh mysql57-community-release-el7-11.noarch.rpm
yum repolist all | grep mysql
如果遇到以下错误失败的软件包是:mysql-community-server-5.7.37-1.el7.x86_64 GPG,需要执行: rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
sudo yum install mysql-community-server -y
//开启mysql服务
sudo systemctl start mysqld.service
//查看mysql服务状态
sudo systemctl status mysqld.service
//查看mysql临时登录密码
sudo grep 'temporary password' /var/log/mysqld.log
mysql -uroot -p  然后回车,输入 临时的密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Admin!888';
//开启远程连接
use mysql;
select Host, User from user;
//第一个root表示用户名,%表示所有的电脑都可以连接,也可以设置某个ip地址运行连接,BY后面的字符串表示密码).表示任何数据库都可以被访问 %表示任意的ip都可以访问,这句话的意思表示允许数据库被任何主机以root用户以Credan!888(远程连接的密码,不是本地访问的密码)密码进行访问
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Admin!888' WITH GRANT OPTION;
//刷新授权
flush privileges;

安装mongod

  • 安装
curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz 
tar -zxvf mongodb-linux-x86_64-3.0.6.tgz  
mv  mongodb-linux-x86_64-3.0.6/ /usr/local/mongodb 
//添加到环境变量,加入到~/.bash_profile文件里面
export PATH=/usr/local/mongodb/bin:$PATH 
source ~/.bash_profile 
mkdir -p /data/db
  • 以守护进程的方式运行
    1. 在/usr/local/mongodb下面新建mongod.conf
    port= 27017
    fork=true
    master=true
    logpath=/data/mongo/27017/mongo.log
    logappend=true
    dbpath=/data/db
    #auth=true #是否开启授权
    
    ps: 一定要提前把所需要的文件建好
    1. 执行mongod -f /usr/local/mongodb/mongod.conf运行
  • 设置密码
    1. show dbs 新版Mongodb没有admin数据库,但是不妨碍下面的操作
    2. use admin 进入admin数据库
    3. db.createUser({user:"admin", pwd:"admin888", roles:[{role:"userAdminAnyDatabase", db:"admin"}]})
      • 改命令是创建是管理员账号
      • mongodb中的身份是基于roles的, user是用户名,pwd是用户民对应的密码,userAdminAnyDatabase表示该用户可以操作任何数据库
  1. 用上面创建好的admin账号,创建其他账号
    • use admin
    • db.auth("admin", "admin")
    • use yourdatabase
    • db.createUser({ user: "youruser", pwd: "yourpassword", roles: [{ role: "dbOwner", db: "yourdatabase" }] })
  2. db.auth("admin", "admin") 验证用户是否添加成功,返回1表示添加成功
  3. 修改上面mongod.conf配置文件 将auth=true打开,并且重启mongod
  4. 本地通过robo 3T 链接服务器mongo


    image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,826评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,968评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,234评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,562评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,611评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,482评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,271评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,166评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,608评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,814评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,926评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,644评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,249评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,866评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,991评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,063评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,871评论 2 354

推荐阅读更多精彩内容