入手阿里云新服务器的部署NODE
本篇文章主要是结合我之前面试的各种经历和实战开发中遇到的问题解决经验整理的,希望这篇《入手阿里云新服务器的部署NODE》对你有很大帮助!欢迎收藏,分享给更多的需要的朋友学习~
入手后先用 'yum -y update' 来升级一下
1 设置非root用户
1.1 新增用户
为你的服务器新增一个用户
useradd 用户名 passwd 用户名 //然后输入密码
1.2 设置ssh
新增用户之后就设置root为非ssh登录的,新用户可以ssh登录:修改/etc/ssh/sshd_config
PermitRootLogin:yes --> PermitRootLogin:no
这样就可以禁止root用户登录了。
1.3 附上一些命令
useradd //添加用户 passwd //为用户设置密码 userdel //删除用户 usermod //修改用户信息 groupadd //添加用户组 groupdel //删除用户组 groupmod //修改用户组信息 groups //显示当前进程用户所属的用户组
2 配置git
2.1 思路
我们假设你在服务器上设置了一个叫做a的用户,那么我们上线的代码现在自己电脑上写好,push到git服务器上,再在由a用户pull下来上线。那么我们在root上面创建一个共享的仓库,这样自己的电脑和用户a都可以向这个仓库拉取和提交代码。那么这个git服务器服务器应该如何搭建呢?其实就是新增一个git用户
useradd git passwd 密码 //以下为升级git的,centos的yum能安装的git最多去到1.7 //因此需要安装2.X 的git的话,先卸载,再下载源码编译安装 yum remove git //在https://www.kernel.org/pub/software/scm/git上选择你要的版本 src wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.10.0.tar.gz //安装必要工具包 yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel yum install gcc perl-ExtUtils-MakeMaker //解压 tar xzf git-2.10.0.tar.gz cd git-2.10.0 make prefix=/usr/local/git all make prefix=/usr/local/git install echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/bashrc source /etc/bashrc
2.2 搭建
配置
// 在/srv下创建git文件夹,再在git里面创建空仓库 cd /srv mkdir git cd git git init --bare project.git // project为项目名字,自定义的 //成功就会显示:Initialized empty Git repository in /srv/git/project.git/ // 把所有权给git 用户 cd ../ chown -R git:git git //在自己电脑上: git clone git@服务器IP:/srv/git/project.git /*以上的文字很不幸的出现了很多git ,看清楚git其实分别对应了文件夹名字,git命令还有用户名三个东西就好了*/
安全:处于安全考虑,我们应该禁用git用户的shell登陆。
vim /etc/passwd //找到这一行 git:x:1001:1001:,,,:/home/git:/bin/bash //改成 git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
这样,git用户可以正常通过ssh使用git,但无法登录shell,因为我们为git用户指定的git-shell每次一登录就自动退出。
3 安装node
3.1 node安装
//该方法是源码编译安装,比较慢 //确保gcc安装 yum -y install gcc //下载node 这里可以去官网看看你要的版本号 wget https://nodejs.org/dist/v5.6.0/node-v5.6.0.tar.gz //解压 tar -zvxf node-v5.6.0.tar.gz // 开启配置,编译 cd node-v5.6.0 ./configure make && make install //要能业务化的话 pm2 && express 都不可少 npm i -g n //升级node用的 npm i -g express npm i -g pm2
3.2 pm2的配置
//pm2开机启动 pm2 startup centos //创建一个processes.json文件 { "apps": [ { "name": "xxx", "script": "./bin/www", "log_date_format": "YYYY-MM-DD HH:mm Z", "log_file" : "./logs/xxx.log", "error_file" : "./logs/xxx.log", "out_file" : "./logs/xxx.log", "merge_logs": true, } ] } //保存退出后启动 pm2 start processes.json
4 安装配置nginx
4.1 安装
yum install nginx cd /etc/nginx //这里开始修改配置 vim nginx.conf //-> 这里不细说明配置:只需要找到conf里面有没有这一段:include /etc/nginx/conf.d/*.conf; // 退出之后进入/etc/nginx/conf.d目录,新建一个配置文件 vim xxx.com.conf //xxx.com是你的域名名字
4.2 配置文件
//xxx.com.conf upstream node { server 127.0.0.1:3000; } server { listen 80 default_server; server_name xx.com www.xx.com; include /etc/nginx/default.d/*.conf; location / { proxy_pass http://node; } access_log xx/access.log main; }
4.3 nginx的一些命令
//测试配置文件是否出错 nginx -t -c /etc/nginx/nginx.conf //启动 service nginx start //重启 service nginx restart
4.4 新增SSL配置文件实例
upstream node { server 127.0.0.1:3000; } server { listen 443 ssl; server_name ***; #你的域名 ssl on; ssl_certificate ***.pem; #pem文件路径 ssl_certificate_key ***.key; #key文件路径 ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL; ssl_prefer_server_ciphers on; # 禁止爬虫!如果你要做SEO的话!这个最好就不要咯 if ($http_user_agent ~* "qihoobot|Baiduspider|Googlebot|Googlebot-Mobile|Googlebot-Image|Mediapartners-Google|Adsbot-Google|Feedfetcher-Google|Yahoo! Slurp|Yahoo! Slurp China|YoudaoBot|Sosospider|Sogou spider|Sogou web spider|MSNBot|ia_archiver|Tomato Bot"){return 403;} location / { deny 123.126.113.134; deny 111.251.93.84; proxy_pass http://node; } access_log *.log main; }
5 安装配置redis
5.1 安装
yum install gcc-c++ yum install -y tcl yum install wget //在官网http://redis.io/拿到下载链接 wget 链接 //解压 进入目录 编译 安装 tar -xzvf redis mv redis /usr/local/redis cd /usr/local/redis make make install
5.2 配置
mkdir /etc/redis mkdir /var/redis mkdir /var/redis/log mkdir /var/redis/run mkdir /var/redis/6379 //在redis解压根目录中找到配置文件模板,复制到如下位置。 cp /usr/local/redis/redis.conf /etc/redis/6379.conf //通过vim命令修改 daemonize yes requirepass 密码 pidfile /var/redis/run/redis_6379.pid logfile ca dir /var/redis/6379 //最后运行redis: redis-server /etc/redis/6379.conf //测试链接 redis-cli -h 127.0.0.1 -p 6379 -a 'songhang' //开关 service redis_6379 stop service redis_6379 start
5.3 开机启动
确定已经执行了第二步的配置,保证daemonize yes
echo "/usr/local/redis/src/redis-server /etc/redis/6379.conf &" >> /etc/rc.local
6 安装配置数据库MySQL
6.1 简单的安装
服务器端
阿里云上的centos7.0系统。因为在centos直接搜索mysql是木有这个软件的(原因自己百度),只有mariadb,你可以把它当成名字不用而已就好了。
安装很简单:
//安装 yum install mariadb mariadb-server //启动 systemctl start mariadb //开机启动 systemctl enable mariadb //root密码等相关 mysql_secure_installation //登录 mysql -u root -p //创建新用户 create user 'username'@'localhost' identified by 'password'
开发机器上
手上的是MacBook,简单的去官网下载Mysql来点开安装就可以了。接下来推荐一个图形界面的工具:mysqlWorkBench。也是直接下载后点开安装。
注意:新版的Mysql安装后之后弹窗给你一个初始化密码的
6.2 远程登陆
由于我们刚才新建的用户的host定义了localhost,所以在开发机器上是没办法登陆的。因此需要用调整一下
//用root登陆 mysql -u root -p //创建一个数据库(create database sanyuelanv) create database databaseName //授予用户操作这个数据库的所有权限 grant all on databaseName.* to username@'%'; flush privileges;
后记:zsh
因为个人喜好用ZSH,所以把bash替换成zsh,再加上oh-my-zsh。这样才觉得舒服。
echo $SHELL //查看当前的shell,一般的结果都是/bin/bash cat /ect/shells //查看bin下面是否有zsh yum install zsh //安装zsh cat /ect/shells //再次查看 chsh -s /bin/zsh //切换zsh reboot //重启 //重启完成之后 yum install git //安装git //安装oh-my-zsh,装好之后切换用户或者重启一下 wget https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O - | sh //如果出现:warning: cannot set LC_CTYPE locale的错误 vim /etc/profile //后面加上这两行 export LC_ALL=en_US.UTF-8 export LC_CTYPE=en_US.UTF-8 //保存退出后生效 source /etc/profile
文中关于mysql的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《入手阿里云新服务器的部署NODE》文章吧,也可关注golang学习网公众号了解相关技术文章。
-
- 会撒娇的小蜜蜂
- 很详细,码起来,感谢up主的这篇博文,我会继续支持!
- 2023-04-04 08:52:06
-
- 秀丽的荔枝
- 真优秀,一直没懂这个问题,但其实工作中常常有遇到...不过今天到这,看完之后很有帮助,总算是懂了,感谢作者大大分享文章!
- 2023-03-11 08:59:06
-
- 舒服的荔枝
- 这篇文章真及时,太细致了,受益颇多,码起来,关注大佬了!希望大佬能多写数据库相关的文章。
- 2023-02-24 12:19:40
-
- 数据库 · MySQL | 1天前 |
- MySQL设置中文界面,超简单教程来了!
- 332浏览 收藏
-
- 数据库 · MySQL | 1天前 | mysql 索引提示
- MySQL进阶必看!FORCE/USE/IGNOREINDEX用法大揭秘
- 182浏览 收藏
-
- 数据库 · MySQL | 1天前 |
- 手把手教你写MySQL存储过程,小白也能轻松上手
- 163浏览 收藏
-
- 数据库 · MySQL | 1天前 | mysql group by
- MySQL分组查询优化:GROUPBY原理+索引优化超全解析
- 324浏览 收藏
-
- 数据库 · MySQL | 1天前 |
- MySQL设置中文语言,轻松拥有中文界面
- 211浏览 收藏
-
- 数据库 · MySQL | 1天前 |
- MySQL建库语句从入门到精通:创建数据库+设置字符集&排序规则(附实例)
- 176浏览 收藏
-
- 数据库 · MySQL | 1天前 |
- 从零开始学MySQL数据库操作,小白轻松变大神!
- 496浏览 收藏
-
- 数据库 · MySQL | 1天前 |
- MySQL插入日期到时间字段,轻松搞定日期格式
- 484浏览 收藏
-
- 数据库 · MySQL | 1天前 | mysql 数据压缩
- MySQL怎么实现高效压缩存储?表压缩+列式存储详细解读
- 272浏览 收藏
-
- 数据库 · MySQL | 1天前 | mysql JOIN优化
- MySQL优化JOIN操作:七大技巧教你提升关联查询速度
- 106浏览 收藏
-
- 数据库 · MySQL | 1天前 |
- MySQL出现中文乱码?超详细解决方案一次性搞定
- 211浏览 收藏
-
- 数据库 · MySQL | 1天前 |
- MySQL主从复制这样配!搞懂这些参数,replication稳了~
- 131浏览 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 542次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 508次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 497次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 484次学习
-
- 茅茅虫AIGC检测
- 茅茅虫AIGC检测,湖南茅茅虫科技有限公司倾力打造,运用NLP技术精准识别AI生成文本,提供论文、专著等学术文本的AIGC检测服务。支持多种格式,生成可视化报告,保障您的学术诚信和内容质量。
- 14次使用
-
- 赛林匹克平台(Challympics)
- 探索赛林匹克平台Challympics,一个聚焦人工智能、算力算法、量子计算等前沿技术的赛事聚合平台。连接产学研用,助力科技创新与产业升级。
- 48次使用
-
- 笔格AIPPT
- SEO 笔格AIPPT是135编辑器推出的AI智能PPT制作平台,依托DeepSeek大模型,实现智能大纲生成、一键PPT生成、AI文字优化、图像生成等功能。免费试用,提升PPT制作效率,适用于商务演示、教育培训等多种场景。
- 56次使用
-
- 稿定PPT
- 告别PPT制作难题!稿定PPT提供海量模板、AI智能生成、在线协作,助您轻松制作专业演示文稿。职场办公、教育学习、企业服务全覆盖,降本增效,释放创意!
- 51次使用
-
- Suno苏诺中文版
- 探索Suno苏诺中文版,一款颠覆传统音乐创作的AI平台。无需专业技能,轻松创作个性化音乐。智能词曲生成、风格迁移、海量音效,释放您的音乐灵感!
- 56次使用
-
- golang MySQL实现对数据库表存储获取操作示例
- 2022-12-22 499浏览
-
- 分享Redis高可用架构设计实践
- 2023-01-24 286浏览
-
- 搞一个自娱自乐的博客(二) 架构搭建
- 2023-02-16 244浏览
-
- B-Tree、B+Tree以及B-link Tree
- 2023-01-19 235浏览
-
- mysql面试题
- 2023-01-17 157浏览