LEEYANGY

LEEYANGY 关注TA

拼搏百天,我要上湖工大!

LEEYANGY

LEEYANGY

关注TA

拼搏百天,我要上湖工大!

  •  Wuhan/HuBei
  • 学生
  • 写了322,476字

该文章投稿至Nemo社区   Linux  板块 复制链接


2021/11/21 巴拉巴拉

发布于 2021/11/21 23:29 15,606浏览 0回复 9,637

今天购买了一台阿里云服务器玩玩(主要是想建站)

找了几个小时教程,网上的东西都过时了,估计我现在写的这篇文章过几个月也不适用了,买东西,一定得看产品说明!!!


适用于2021年11月的阿里云服务器建站全过程---慢慢更新,太多东西不会了(请原谅我很菜)


19号发工资,应该是我得到最多钱的一个月,心痒痒的,想买服务器实战一下,正如标题所描述的时间点,对比了三家(华为,阿里,腾讯)综合下来阿里便宜一下(1块/年 域名+43块/年 轻量应用服务器=44块到手 ,配置1核2G 40G存储 5M峰值带宽),当然还有其他家(我认为入门应该得找个靠谱的运营商)。


正文如下:


使用ssh连接root用户,然后新建一个用户(这里新建的用户,我的是没带root权限的,也就是不能使用sudo命令)

注意!这里是root用户模式下执行的命令:

useradd -d /home/leeyangy -m leeyangy
passwd leeyangy
reboot

使用leeyangy账户登录下载所需文件Tomcat,JDK和MYSQL

jdk17:
wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz
tar -xzvf jdk-17_linux-x64_bin.tar.gz
mv jdk-17_linux-x64_bin.tar.gz jdk tomcat8:
wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.73/bin/apache-tomcat-8.5.73.tar.gz tar -xzvf apache-tomcat-8.5.73.tar.gz mv apache-tomcat-8.5.73 tomcat


切换root用户配置环境变量:

vim /etc/profile

JAVA_HOME=/home/leeyangy/jdk
PATH=/home/leeyangy/jdk/bin:$PATH
CLASSPATH=.:/home/leeyangy/jdk/lib/dt.jar:/home/leeyangy/jdk/lib/tools.jar
CATALINA_HOME=/home/leeyangy/tomcat
export JAVA_HOME PATH CLASSPATH CATALINA_HOME 编辑完成后: . /etc/profile 分别在root用户和非root用户模式下输入java,javac,java -vsersion,正常输出信息java版本即为配置成功


至此server端配置完成


下面到阿里云工作台开放8080端口(8080记得转内网)

找了我半天,太头疼了,阿里云这个管理后台,对于我这种萌新属实不太友好。

首先打开我们阿里云的工作台,我很确认的说是工作台!

产品服务搜索  轻应用服务器,即可进入后台,然后看到之前购买的服务器,点进去左手边(别问我左手边在哪,自己看)











至此配置tomcat完成

输入阿里云提供的ip+8080/看到那熟悉的tomcat界面,tomcat也就配置成功了。


----------log: 2021/12/7-------------

今天备案通过审核了,网站可以正常访问80端口了


install nodejs

mkdir temp
cd temp
curl -sL https://deb.nodesource.com/setup_18.x -o nodesource_setup.sh

sudo bash nodesource_setup.sh

sudo apt install nodejs

node -v

## Run `sudo apt-get install -y nodejs` to install Node.js 18.x and npm
## You may also need development tools to build native addons:
## sudo apt-get install gcc g++ make
## To install the Yarn package manager, run:
## curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor | sudo tee /usr/share/keyrings/yarnkey.gpg >/dev/null
## echo "deb [signed-by=/usr/share/keyrings/yarnkey.gpg] https://dl.yarnpkg.com/debian stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
## sudo apt-get update && sudo apt-get install yarn




安装nginx 

我在安装配置过程中的问题:

nginx官方下载页面nginx官方下载页面

wget 文件地址
tar -xzvf nginx--xxxxx-xxxx.tar.gz
mv nginx--xxxxx-xxxx nginx cd nginx ./configure #配置nginx make #编译nginx make install #安装 ./configure过程中的报错问题

./configure: error: the HTTP rewrite module requires the PCRE library.
You can either disable the module by using --without-http_rewrite_module
option, or install the PCRE library into the system, or build the PCRE library
statically from the source with nginx by using --with-pcre=<path> option.

提示缺少 PCRE library
手动安装一下

apt install libpcre3 libpcre3-dev


查找已安装的nginx

$:whereis nginx
nginx: /usr/local/nginx
$:cd /usr/local/nginx
$:cd /sbin
$:./nginx
浏览器地址栏输入服务器ip,即可看到welcome nginx

自启动nginx?

自ubuntu1604之后不再使用initd管理系统,改用systemd,使用systemctl替换原来service 和 chkconfig功能


systemd 默认读取/etc/systemd/system 下的配置文件,该目录下的文件会链接/lib/systemd/system/下的文件

建立服务文件

vim /lib/systemd/system/nginx.service
复制如下内容写入到nginx.service中
[Unit]
Description=nginx - high performance web server
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
[Install]
WantedBy=multi-user.target


[Unit]:服务的说明
Description:描述服务
After:依赖,当依赖的服务启动之后再启动自定义的服务


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

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

Type
Type=simple(默认值):systemd认为该服务将立即启动。服务进程不会fork。如果该服务要启动其他服务,不要使用此类型启动,除非该服务是socket激活型。
Type=forking:systemd认为当该服务进程fork,且父进程退出后服务启动成功。对于常规的守护进程(daemon),除非你确定此启动方式无法满足需求,使用此类型启动即可。使用此启动类型应同时指定 PIDFile=,以便systemd能够跟踪服务的主进程。
Type=oneshot:这一选项适用于只执行一项任务、随后立即退出的服务。可能需要同时设置 RemainAfterExit=yes使得systemd在服务进程退出之后仍然认为服务处于激活状态
Type=notify:与 Type=simple相同,但约定服务会在就绪后向systemd发送一个信号。这一通知的实现由 libsystemd-daemon.so提供。
Type=dbus:若以此方式启动,当指定的 BusName 出现在DBus系统总线上时,systemd认为服务就绪。
PIDFile : pid文件路径
ExecStartPre :启动前要做什么,上文中是测试配置文件 -t
2.保存目录
/usr/lib/systemd/system
3.设置开机自启动
systemctl enable nginx.service //任意目录下执行
4.使用命令

systemctl start nginx.service //启动nginx服务
systemctl enable nginx.service //设置开机自动启动
systemctl disable nginx.service //停止开机自动启动
systemctl status nginx.service //查看状态
systemctl restart nginx.service //重启服务
systemctl list-units --type=service //查看所有服务


redis:

# 安装
wget https://download.redis.io/redis-stable.tar.gz
tar -xzvf redis-stable.tar.gz
cd redis-stable
make
sudo make install
# 在当前redis-stable目录 复制一份 redis.conf 到 安装后的目录

sudo cp redis.conf /usr/local/bin

# 修改配置,使其能在后台运行 daemonize no -> yes

daemonize yes

# 添加密码

requirepass [you password]


# 配置开机自启动
sudo vim /etc/systemd/system/redis.service

# 粘贴一下内容
[Unit]
Description=redis-server
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/bin/redis-server /usr/local/bin/redis.conf
PrivateTmp=true

[Install]
WantedBy=multi-user.target # 保存退出 # 重新加载系统服务

systemctl daemon-reload

# 启动 redis

systemctl start redis

# 查看状态

systemctl status redis


# 开机自启动

systemctl enable redis




#ubuntu-server2004 bash tab补全命令

# 这是注释,别复制。 安装 bash-completion $: sudo apt-get install bash-completion
#: source /etc/bash_completion
#编辑 $: sudo vim /etc/bash.bashrc
#粘贴如下代码到末尾 [plain]
if [ -f /etc/bash_completion ]; then
/etc/bash_completion
fi





安装docker配置hadoop

#查看架构 

$ uname -a

#输出如下信息?

Linux raspberrypi 5.15.0-1014-raspi #16-Ubuntu SMP PREEMPT Thu Aug 25 09:50:55 UTC 2022 aarch64 aarch64 aarch64 GNU/Linux

#执行更新操作

$ sudo apt update
$ sudo apt upgrade
$ sudo apt full-upgrade

#安装必要的证书并允许 apt 包管理器使用以下命令通过 HTTPS 使用存储库

$ sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg lsb-release

#运行下列命令添加 Docker 的官方 GPG 密钥

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

#添加 Docker 官方库

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker. List > /dev/null

#更新源

 sudo apt update

#最后,运行下列命令在 Ubuntu 22.04 LTS 服务器中安装最新 Docker CE

$ sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin

#安装其它版本?sudo apt-cache madison docker-ce

#检查运行状态(自行判断是否成功?)

官方实例测试

sudo docker run hello-world

自行判断吧?

啊啊啊啊,Hadoop实验环境真是太难搭了。

由于我用的是树莓派,在一些兼容上,可能有些差距,但毕竟是个伪集群。

backupfile

docker 一些常用指令

docker 

    commit  [-a "作者名" -m "注释信息"  REPOSITORY[:tag] ]

    save

    load

    export

    cp [OPTIONS] [CONTAINER_ID]:[SRC_PATH] [DEST_PATH]


在docker中 开启ssh

apt-get install openssh-server
sudo ps -e |grep ssh
service ssh start
vim /etc/ssh/sshd_config
#add PermitRootLogin yes
PermitRootLogin yes
#commit PermitRootLogin without-password
PermitRootLogin without-password


docker manager tool  ==>> portainer

docker pull portainer/portainer:latest
docker run -d -p 9000:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --name prtainer-test portainer/portainer



 

-------------------2022--09--17--01:00----------


systemctl status docker
没用的log !!!
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2022-09-16 21:43:23 CST; 3h 26min ago
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
Main PID: 906 (dockerd)
Tasks: 9
Memory: 78.6M
CPU: 7.037s
CGroup: /system.slice/docker.service
└─906 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

9月 16 21:43:21 raspberrypi dockerd[906]: time="2022-09-16T21:43:21.169304661+08:00" level=info msg="ClientConn switching balancer to \"pick_first\"" module=grpc
9月 16 21:43:21 raspberrypi dockerd[906]: time="2022-09-16T21:43:21.424007994+08:00" level=info msg="[graphdriver] using prior storage driver: overlay2"
9月 16 21:43:21 raspberrypi dockerd[906]: time="2022-09-16T21:43:21.520504512+08:00" level=info msg="Loading containers: start."
9月 16 21:43:22 raspberrypi dockerd[906]: time="2022-09-16T21:43:22.045142901+08:00" level=warning msg="Could not load necessary modules for IPSEC rules: protocol not supported"
9月 16 21:43:22 raspberrypi dockerd[906]: time="2022-09-16T21:43:22.451817141+08:00" level=info msg="Default bridge (docker0) is assigned with an IP address 172.17.0.0/16. Daemon option --bip can be used to set a preferred IP address"
9月 16 21:43:22 raspberrypi dockerd[906]: time="2022-09-16T21:43:22.639355400+08:00" level=info msg="Loading containers: done."
9月 16 21:43:23 raspberrypi dockerd[906]: time="2022-09-16T21:43:23.128649234+08:00" level=info msg="Docker daemon" commit=e42327a graphdriver(s)=overlay2 version=20.10.18
9月 16 21:43:23 raspberrypi dockerd[906]: time="2022-09-16T21:43:23.129690604+08:00" level=info msg="Daemon has completed initialization"
9月 16 21:43:23 raspberrypi systemd[1]: Started Docker Application Container Engine.
9月 16 21:43:23 raspberrypi dockerd[906]: time="2022-09-16T21:43:23.258209845+08:00" level=info msg="API listen on /run/docker.sock"




常用命令?

开启docker服务

sudo systemctl start docker

开机自启

sudo systemctl enable docker


切换python版本

sudo apt remove --autoremove python3.10
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
sudo apt install python3.8
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1


切换jdk

sudo update-alternatives --config java


新建用户

useradd -m leeyangy -c "leeyangyang group" -d /home/leeyangy -s /bin/bash




点赞(2)
点了个评