云服务器笔记

前提:通过阿里云官方购买云服务器ECS和域名,并按官方教程进行域名备案,此处省略。

参考文章:https://blog.youkuaiyun.com/GitChat/article/details/79213045

1.下载Linux远程连接ssh工具

        推荐使用家庭版的MobaXterm,免费。XShell 7评估版只能使用30天。以下工具二选一即可。

1.1XShell 7

        下载地址:https://www.jb51.net/softs/732916.html

1.2MobaXterm

        下载地址:https://mobaxterm.mobatek.net/download.html

2.连接服务器

以下两种方法二选一即可。

2.1 XShell 7新建会话并连接服务器

密码是对应服务器的密码,不是远程连接的密码:

 

  服务器密码忘记,来这修改:

设置SSH用户身份验证信息,主要是输入服务器密码。

  连接成功:

2.2MobaXterm新建会话并连接服务器

1.打开安装好的MobaXterm,在主界面中单击导航栏左边第一个【Session】进入连接页面。(或者单击主页最上边的【Sessions】按钮,然后选择其弹出的【new Session】按钮也行,都是进入连接页面的)

2.在弹出的新页面中,单击导航栏最左边的【SSH】按钮

3.然后在新页面中输入云服务器的公网IP和账号(默认账号是root,输入root账号之前记得把左边小方框的√打上),端口号保留默认的22。输入完毕,点击左下方的【OK】按钮即完成连接。

4.第一次连接,左边的黑框会提示输入云服务器的密码。正确输入云服务器密码之后,会提示设置主密码MobaXterm Master Password。

3.安装Node

1.在XShell中,首先跳转到服务器根目录下cd /,创建一个空目录,用来放所有的安装包mkdir soft。然后进入该文件夹cd soft

2.打开NodeJs官方下载地址:https://nodejs.org/en/download/,获取到编译好文件的下载地址:https://nodejs.org/dist/v14.17.3/node-v14.17.3-linux-x64.tar.xz

3.使用命令把文件下载下来wget https://nodejs.org/dist/v14.17.3/node-v14.17.3-linux-x64.tar.xz。提示:地址是国外地址,下载会很慢。

wget:Unable to establish SSL connection.报错的解决方法,加上跳过验证证书的参数“--no-check-certificate
wget --no-check-certificate https://nodejs.org/dist/v14.17.3/node-v14.17.3-linux-x64.tar.xz

4.将下载好的压缩包解压tar xvf node-v14.17.3-linux-x64.tar.xz

5.进入编译后的目录后:

 6.进行一些软连接配置,即可全局使用node/npm命令

[root@MyServer ~]# ln -s /soft/node-v14.17.3-linux-x64/bin/node /usr/bin/node
[root@MyServer ~]# ln -s /soft/node-v14.17.3-linux-x64/bin/npm /usr/bin/npm

使用node -v 和 npm -v查看命令是否配置成功:

4.安装 nrm 和 pm2

nrm 是一个管理 npm 源的插件,方便切换国内国外以及私人 npm 库。
pm2 是 node 服务器的守护进程,可以安装 cnpm 数量创建多个服务,可以方便的管理当前服务器上的所有服务。

安装淘宝镜像的包命令行管理工具cnpm
1.看一下npm仓库地址:

npm get registry
得到 https://registry.npmjs.org/
2.建议把npm的仓库切换到国内taobao仓库。因为可能的GFW问题(不然会下载很慢很慢,也可能下载失败)。执行下面的命令:

npm config set registry "https://registry.npm.taobao.org/"
3.安装cnpm:

npm install -g cnpm --registry=https://registry.npm.taobao.org

如果安装比较慢或者根本没进度,请直接使用 cnpm 代替 npm 安装下面的 2 个插件。

4.1 nrm

新安装的库,都需要进行软连接配置,才可全局使用命令,格式如下:

ln -s ../../xxx /usr/bin/xxx
例如:
ln -s /soft/node-v14.17.3-linux-x64/bin/nrm /usr/bin/nrm
  • 使用命令安装:npm install -g nrm。里面默认已经有淘宝的 cnpm 了。软连接配置全局使用命令:ln -s /soft/node-v14.17.3-linux-x64/bin/nrm /usr/bin/nrm

  • 使用命令添加新的源:nrm add 名字 地址,名字是为了方便切换起的,最好方便记忆。如:nrm add cnpm https://registry.npm.taobao.org

  • 切换到刚才的源:nrm use 刚才的名字。如:nrm use cnpm

  • 查看所有可用的源:nrm ls

4.2 pm2

有兴趣的可以看看 pm2.5,基本上和 pm2 一样。但是它自己有一些改进,增强了某些方面的性能。

  • 安装 pm2:npm install -g pm2

  • 查看 pm2 守护服务:pm2 list

  • 启动一个 pm2 的守护进程使用命令:pm2 start index.js

  • 重启一个 pm2 的进程使用命令:pm2 restart id/name

  • 删除一个正在使用的进程使用命令:pm2 delete id/name

  • 查看 pm2 的消耗使用命令:pm2 monit

5.安装 MySQL

5.1 安装MySQL


mysql 是一个方便使用的开源数据库。因为使用简单,安装方便,功能强大,受到很多开发者的喜爱,给自己安装一个 MySQL 数据库真的是非常有必要的,利用它可以存储不少东西。

(1)下载安装需要用到的源:wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm。

(2)安装下载的源rpm -ivh mysql-community-release-el7-5.noarch.rpm。

(3)下载安装 MySQL:yum install mysql-server

(4)使用service mysqld start。

(5)如果遇到错误ERROR 2002 (HY000): Can't connect to local MySQL server through socket /var/lib/mysql/mysql.sock'。

(6)请在 tmp 下创建一个软连接ln -s /tmp/mysql.sock /var/lib/mysql。

(7)打开 my.cnf 并修改vi /etc/my.cnf。

(8)重启数据库restart  mysqld.service

(9)使用命令修改当前用户的密码(默认 root 是没有密码的):mysqladmin -u root password ' 密码 '

(10)使用命令进入数据库:mysql -u root -p。需要输入数据库密码。

(11)这个时候数据库已经安装好了,但是只能在服务器上看。我们需要让 MySQL 运行远程连接,这样方便我们调试,不用每次都要使用命令行。

(12)进入服务器的 mysql 命令行模式下,输入GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;

其中 root 代表的是这次要修改的用户名,password 代表这个用户使用的密码,然后再输入flush privileges;让命令生效。需要注意的是每行命令的最后要加;,不然是不会执行的。

(13)如果顺利,这个时候已经是修改完了,你可以输入查询命令来看看最终的结果。SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;。也可以通过软件直接登录数据库看看。

(14)到此 MySQL 数据库就完成安装了,这个时候可以使用某个客户端连接上数据库看了(推荐 navicat for mysql 下载地址:https://www.onlinedown.net/soft/87702.htm 激活方法:https://www.cnblogs.com/chyf1990/p/12987101.html),也可以直接进入服务器的命令行模式查看数据库。

5.2 navicat for mysql连接mysql数据库

本地电脑使用navicat for mysql连接远程服务器上的mysql数据库

参考:https://blog.youkuaiyun.com/weixin_28622215/article/details/113211044

创建连接:

navicat for mysql 连接时报弹框报错如下:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

5.2.1 IP授权访问mysql

出现这个问题的原因之一是权限的问题,也就是说你的电脑可能没有权限访问mysql数据库。

讲道理这种情况其实基本上不该遇到,因为我们在安装mysql之后,root其实是有最高权限的,而且很少会有人去修改root的权限。

这个问题的解决方法就是授权。授权命令大概是这样的:(先使用命令进入数据库:mysql -u root -p

grant all privileges on *.* to 'root'@'我电脑的ip地址' identified by '密码';
//此处的'密码'可以随便设置,是Navicat for mysql客户端连接服务器mysql数据库时使用的密码。
//接下来就简单了,直接将上面的代码修改一下就可以用了。比如我的电脑的ip地址是:192.168.0.103,我的root密码是:123456,那么我就可以将授权的语句改成:
grant all privileges on *.* to 'root'@'192.168.0.103' identified by '123456';
如果你是本地登录的,那么:
grant all privileges on *.* to 'root'@'localhost' identified by '123456';
当然你也可以直接改成这样:
grant all privileges on *.* to 'root'@'%' identified by '123456';
就可以给所有ip都设定root登陆了。
如果授权成功,会有Query OK的提示。
然后:
flush privileges;
这个是刷新授权的意思,如果没有这句话,授权可能无法立刻生效。
exit;
这个是退出的意思。

5.2.2 设置mysql跳过密码验证(不推荐)  

mysql数据root密码异常之后,可以通过跳过MySQL的密码认证过程

步骤:

1.修改  /etc/my.cnf(找到 [mysqld] 内容后添加  "skip-grant-tables" ),就可以跳过密码验证过程了。有的版本是修改/etc/mysql/mysql.conf.d,但找不到时就修改/etc/my.cnf。

2.重启服务"service mysql restart",之后通过 "mysql"直接进入到数据库中,进行相关的密码重置,之后屏蔽"skip-grant-tables"代码,重启服务就能正常使用了

5.3 mysql修改密码 

目前有3种方式修改mysql密码:(参考:http://c.biancheng.net/view/7152.html

  1. set password for username @localhost = password(newpwd);
  2. mysqladmin -u用户名 -p旧密码 password 新密码
  3. update mysql.user set authentication_string=password('新密码') where user='用户名' and Host ='localhost';设置新密码

此处采用第2种:使用mysqladmin修改密码

使用 mysqladmin 命令修改 MySQL 的 root 用户密码格式为 mysqladmin -u用户名 -p旧密码 password 新密码

注意:下图修改密码的命令中 -uroot 和 -proot 是整体,不要写成 -u root -p root,-u 和 root 间可以加空格,但是会有警告出现,所以就不要加空格了。
 

6.安装Redis

Redis 是一个非常好用的数据仓库,即可以当一个 nosql 数据库,同时也可以当一个缓存数据库。使用起来也非常的简单,安装方式也是使用源代码的方式安装,同 node 的安装很相似。

(1)从官网复制新安装包的地址。

(2)回到熟悉的 soft 目录,下载最新的源文件,wget http://download.redis.io/releases/redis-4.0.6.tar.gz。

(3)解压并进入解压之后的文件夹:tar -zxvf redis-4.0.6.tar.gz &&cd redis-4.0.6,文件名称根据下载的压缩包来变化。

(4)编译并安装:make && make install

(5)安装完成之后,文件夹里的 4 个文件是以后会常用的:redis-server、redis-benchmark、’redis-cli’、redis.conf。您可以把这 4 个文件单独放到一个合适的位置,方便以后使用。

(6)启动 redis 服务:redis-server redis.conf。

(7)这个时候是不能再输入任何命令,因为 redis-server 已经占用了这个命令行客户端,我们需要再打开一个命令行工具并连接服务器(右键 iTerm2 选择 “New Tab” 或者 “Split Pane ”)。

(8)使用 redis 客户端连接 Redis 服务,执行 Redis 文件夹下的 redis-cli 文件redis-cli,输入几个命令测试一下简单的 set/get:

set a 1
get a
keys *
del a

(9)让 Redis 运行在后台,占用 iTerm2 肯定是不行的,而且关掉客户端之后 Redis 服务也会停止。XShell 7右键创建“新选项卡”。

修改 redis.conf 文件,将 daemonize 的值改为 yes;修改配置使用 vim 命令,有问题的可以看上面的常用命令,也可以自行搜索。

vim redis.conf
按↓找到值并按Insert后修改
修改完按Esc键
输入":wq"后按回车保存并退出

(10)再次运行 Redis 的启动命令redis-server redis.conf,这次就不会占用命令行了,可以继续操作其他的,Redis 服务也不会停止。

redis.conf 的几个重要配置说明:

daemonize:如需要在后台运行,把该项的值改为 yes。

pdifile:把 pid 文件放在 /var/run/redis.pid,可以配置到其他地址。

bind:指定 redis 只接收来自该 IP 的请求,如果不设置,那么将处理所有请求,在生产环节中最好设置该项。

port:监听端口,默认为 6379。

timeout:设置客户端连接时的超时时间,单位为秒。

loglevel:等级分为 4 级,debug、revbose、notice 和 warning,生产环境下一般开启 notice。

logfile:配置 log 文件地址,默认使用标准输出,即打印在命令行终端的端口上。

database:设置数据库的个数,默认使用的数据库是 0。

save:设置 Redis 进行数据库镜像的频率。

rdbcompression:在进行镜像备份时,是否进行压缩。

dbfilename:镜像备份文件的文件名。

dir:数据库镜像备份的文件放置的路径。

slaveof:设置该数据库为其他数据库的从数据库。

masterauth:当主数据库连接需要密码验证时,在这里设定。

requirepass:设置客户端连接后进行任何其他指定前需要使用的密码。

maxclients:限制同时连接的客户端数量。

maxmemory:设置 Redis 能够使用的最大内存。

appendonly:开启 appendonly 模式后,Redis 会把每一次所接收到的写操作都追加到 appendonly.aof 文件中,当 Redis 重新启动时,会从该文件恢复出之前的状态。

appendfsync:设置 appendonly.aof 文件进行同步的频率。

vm_enabled:是否开启虚拟内存支持。

vm_swap_file:设置虚拟内存的交换文件的路径。

vm_max_momery:设置开启虚拟内存后,Redis 将使用的最大物理内存的大小,默认为 0。

vm_page_size:设置虚拟内存页的大小。

vm_pages:设置交换文件的总的 page 数量。

vm_max_thrrads:设置 vm IO 同时使用的线程数量。

7.安装Nginx

Nginx 真的是现在必不可少的一个软件。在转发请求、负载均衡等方面非常非常的有用。这里我们先简单的使用 nginx 的端口转发代理等几个功能。

它可以将几个不同的服务集中在一个 80 端口下,根据域名或者请求路径来区分。

不同的服务。

(1)注意,在安装 nginx 之前还需要安装几个 nginx 的依赖插件。

(2)安装 pcreyum install -y pcre pcre-devel

(3)安装 zlibyum install -y zlib zlib-devel

(4)安装 openssl,这个推荐安装,毕竟大家都在使用 https 证书了,yum install -y openssl openssl-devel

(5)下载源代码,复制下载地址,并使用 wget 命令下载到服务器上,下载地址:https://nginx.org/en/download.html,如https://nginx.org/download/nginx-1.21.1.tar.gz

(6)解压下载的文件并进入解压好的目录tar -zxvf nginx-1.13.8.tar.gz  && cd nginx-1.13.8

(7)执行配置命令./configure

(8)继续编译安装 nginxmake && make install

(9)查看安装结果whereis nginx

(10)跳转到安装好的 nginx 目录下,进入 sbin 目录cd /usr/local/nginx/sbin。

(11)启动 nginx./nginx。

./nginx,启动 nginx;

./nginx -s stop,停止 nginx;

./nginx -s quit,退出 nginx;

./nginx -s reload,重启 nginx。

(12)此时即可通过公网IP访问储存在/usr/share/nginx/html文件夹中的index.html文件。在浏览器中输入http://公网ip 得到如下结果:
在这里插入图片描述

8.安装Git

centos 上是没有安装 git,而 git 是我们开发中经常要使用的工具,这里就讲一下怎么安装 git。

(1)在服务器上执行yum install git。如果上面的几个软件没有安装,您可能还需要安装几个依赖库,这个可以查看出现的错误来决定安装那些库。

(2)确定一下 git 是否安装完成git --version

9.创建服务


现在,我们已经具备了基本的开发环境。下面我将带领大家创建一个简单的 http 服务。万丈高楼平地起,我们从基础着手。

9.1使用 express(个人电脑)


个人电脑本地创建一个 express 服务,使用默认的脚手架即可,使用XShell 7新打开一个标签卡。

(1)在本地安装 express 脚手架,npm install express-generator -g

(2)使用脚手架创建一个简单的 exprss 项目,express myapp

(3)到这一步简单的一个 http 项目就创建好了,有兴趣的可以cd myapp,使用npm install把依赖包安装好,然后使用npm run start启动项目看看效果。本地访问http://127.0.0.1:3000/就可以看到效果了

(4)回到项目外面cd ..,使用 tar 命令打包刚才创建的项目tar -zcvf myapp.tar.gz myapp

9.2上传 express(个人电脑

接下来就是最重要的一步了,上传压缩包到服务器,命令规则scp 压缩包路径 服务器用户名 @ 服务器 ip 地址:服务器上的绝对地址,比如scp myapp.tar.gz root@120.78.57.59:/soft,之后输入登录密码就好了

9.3启动express(云服务器)

进入服务器的 soft 目录,我们已经把文件上传到这里了,现在解压它,cd /soft && tar -zxvf myapp.tar.gz

和在自己的电脑上做并没有什么区别,我们进入解压好的 myapp 目录并安装依赖:npm i

启动 exprss:npm run start

打开网站 服务器 ip:3000,express 脚手架生成的项目默认使用 3000 端口。此步骤未能打开访问网站!

我们再看 iTerm2,已经有一些日志输出了。

9.4使用 Git 上传代码

每次都上传压缩文件其实是一个很蠢的操作,这里我们使用 Git,让 Git 来代替我们进行文件中转的过程,我们只需要上传和下载 2 个操作。

(1)在 github 上创建一个项目Local2ECSServer,简单创建一个就行。

(2)在本地克隆这个仓库,git clone https://github.com/xxx/Local2ECSServer.git

(3)把刚才的项目文件复制到这个 git 项目里cp -rf myapp/ Local2ECSServer/myapp,然后使用 git 命令上传到服务器上

git add
git commit -m "注释"
git push / git push origin master

(4)在服务器上使用 git 命令把刚才的项目克隆下来git clone https://github.com/xxx/Local2ECSServer.git,这样就可以把项目非常快速的同步到服务器了,真实的开发过程中也是这样居多。

10.Nginx开机自启动(systemctl方式)

参考:https://blog.youkuaiyun.com/ren365880/article/details/103597006

1. 建立服务文件

vim /usr/lib/systemd/system/nginx.service
新建文件,把下面文件内容放到文件中

[Unit]
Description=nginx
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target
[Unit]:服务的说明
Description:描述服务
After:描述服务类别

[Service]服务运行参数的设置
Type=forking是后台运行的形式
ExecStart为服务的具体运行命令
ExecReload为重启命令
ExecStop为停止命令
PrivateTmp=True表示给服务分配独立的临时空间
注意:启动、重启、停止命令全部要求使用绝对路径

[Install]服务安装的相关设置,可设置为多用户

2. 文件设为755权限并使文件生效

chmod 755 /usr/lib/systemd/system/nginx.service
systemctl daemon-reload

3.设置开机启动

systemctl enable nginx.service

只有返回类似 Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /etc/systemd/system/nginx.service提示才能够确定设置成功。如果不是请检查上面的文件

4. 命令

systemctl is-enabled servicename.service #查询服务是否开机启动
systemctl enable *.service #开机运行服务
systemctl disable *.service #取消开机运行
systemctl start *.service #启动服务
systemctl stop *.service #停止服务
systemctl restart *.service #重启服务
systemctl reload *.service #重新加载服务配置文件
systemctl status *.service #查询服务运行状态
systemctl --failed #显示启动失败的服务

11.阿里云服务器安装Python3.7

操作系统:CentOS 7.9 64位

1.下载python安装包

wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz

2.解压、配置、编译安装

yum install gcc-c++ gcc make cmake zlib-devel bzip2-devel openssl-devel ncurse-devel libffi-devel -y #安装编译工具

tar -xvf Python-3.7.0.tar.xz

cd Python-3.7.0

./configure prefix=/usr/local/python3 #可更改python3的安装目录

make && make install

安装完成,使用python -V 能查看到具体安装的版本号。

3.删除,备份python2.7

mv /usr/bin/python /usr/bin/python.bak

注意:只删除python2的软链接就行,千万不要卸载python2。

4.安装完毕,创建软连接

ln -s /usr/local/python3/bin/python3 /usr/bin/python

5.后续工作,由于执行CentOS的yum命令需要使用自带的python2的版本,所以需要做两处修改

vim /usr/bin/yum
vim /usr/libexec/urlgrabber-ext-down
#将 这两个文件开头的注释 #! /usr/bin/python修改为 #! /usr/bin/python2

6.建立python 3.7.0版本pip3的软连接

ln -s /usr/local/python3/bin/pip3 /usr/bin/pip

/usr/local/python3/bin/pip3是python3.7安装路径。
输入pip -V 如果能显示pip版本,则安装成功。

7.上传py代码文件并运行

使用scp命令可以上传本地代码文件到远程服务器,或者使用Git。

进入*.py文件目录,直接python *.py运行代码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值