nodejs安装,nginx安装,学习ssh

一,nodejs的安装

1.使⽤yum安装了nodejs环境  (前提有腾讯源,上一篇安装步骤)

[root@two01 ~]# yum -y install epel-elease
[root@two01 ~]# yum list|grep nodejs          //查询所需要的nodejs文件
[root@two01 ~]# yum list|grep nodejs
[root@two01 ~]# yum -y install nodejs.x86_64
[root@two01 ~]# node -v
                            v16.20.2

2.安装npm,设置镜像

[root@two01 ~]# yum list|grep npm
[root@two01 ~]# yum install npm.x86_64 
[root@two01 ~]# npm -v

                           8.9.14

3.使⽤npm安装了vue

[root@two01 ~]# mv npm.x86_64  /usr/local/node

切换到指定目录下我们要下载js文件

[root@two01 ~]# cd /usr/bin
[root@two01  bin]# ln -s /usr/local/node/bin/node node
[root@two01  bin]# ln -s /usr/local/node/bin/npm npm

首先需要下载一个淘宝的镜像文件  下载完事后要切换到镜像中进行下载  (设置国内镜像)

[root@two01  bin]# npm config set registry https://registry.npm.taobao.org
[root@two01  bin]# npm config get registry      //校验是否下载成功如果不好用的话可以使用如下代码
[root@two01  bin]# npm install -g cnpm --registry=https://registry.npm.taobao.org   //-g全局安装
[root@two01  bin]# cd /usr/bin
[root@two01  bin]# ln -s /usr/local/node/bin/cnpm cnpm

切换成功后 可对vue进行安装

[root@two01  bin]# npm install vue

安装后,我们可以就安装vue/cli

[root@two01  bin]# npm install -g @vue/cli

4.使⽤安装vue软件,创建vue项⽬ vue create vuehtml000

选择第三个(Manually)  回车   选router,vuex一直回车 填Y y

5.跳到项⽬⽬录中,npm run serve启动项⽬

[root@two01  bin]# vue create vuehtml000     //创建名为vuehtml000的项目

[root@two01  bin]# cd vuehtml000
[root@two01  vuehtml000]# npm run serve       //启动开发服务

在浏览器中访问 http://localhost:8080 来查看Vue应用(记得关闭防火墙)

6.npm run build 构建静态项⽬

在vue项目的目录中找到才生成的dist目录

[root@two01 vuehtml1000]# ls
dist     
[root@two01 vuehtml1000]# ls ./dist/
css  favicon.ico  index.html  js

7.将这些静态部署到nginx的html
[root@two01 vuehtml1000]# find / -name "html" -type d    //找到nginx的html位置
[root@two01 vuehtml1000]# cp -R ./dist/* /usr/share/nginx/html    //把./dist/下的所有文件复制到 /usr/share/nginx/html中

[root@two01 vuehtml1000]# systemctl start nginx     //启动nginx
[root@two01 vuehtml1000]# nginx -s reload        

二,构建nginx

[root@two01   ~]# yum -y install gcc   pcre-devel  openssl-devel (安装依赖包)

[root@two01   ~]# ls

anaconda-ks.cfg  initial-setup-ks.cfg  公共  模板  视频  图片  文档  下载  音乐  桌面

[root@two01   ~]# cd 桌面

[root@two01  桌面]# ls

nginx-1.22.1.tar.gz

[root@two01  桌面]# tar -xf nginx-1.22.1.tar.gz (解包)

[root@two01  桌面]# ls

nginx-1.22.1  nginx-1.22.1.tar.gz

[root@two01  桌面]# cd nginx-1.22.1/

[root@two01   nginx-1.22.1]# ls

auto  CHANGES  CHANGES.ru  conf  configure  contrib  html  LICENSE  man  README  src

[root@two01  nginx-1.22.1]# useradd -s /sbin/nologin nginx (为了安全。Nginx 用户不能登陆)

[root@two01  nginx-1.22.1]#./configure --prefix=/usr/local/nginx  --user=nginx   --group=nginx   --with-http_ssl_module  //检查环境    //指定安装路径 默认的路径 可要可不要 //指定用户(以这个用户来执行这些,防止别的用户操作,为了安全)  //指定组  //开启SSL加密功能

[root@two01   nginx-1.22.1]#make && make install

三,ssh

ssh服务的两种认证方式:

1.基于用户密码认证

2.基于密钥对的认证

系统默认安装的是openssl   xshell也是使用ssh服务远程管理服务器的

[root@two01  vuehtml1000]# systemctl status sshd

[root@two01  vuehtml1000]# systemctl stop sshd   //xshell断开连接  打开sshd在连接xshell

[root@two01  ~]# yum -y install bash-completion-extras.noarch

搭建ssh服务
1.环境准备

主机名ip地址
two01192.168.195.12
one01192.168.195.11

[root@two01   ~]# ssh -lroot -p22 192.168.195.11
root@192.168.8.131's password: 
Last login: Wed Jul 17 11:29:44 2024 from 192.168.195.12
[root@one01 ~]# 

2.安装ssh服务   
        openssh     //已默认安装

        ssh-server 

        ssh-client     

3.关闭防火墙与Selinux(不关Selinux导致sshd的端口无法修改)
[root@one01 ~]# systemctl stop firewalld
[root@one01 ~]# systemctl disable firewalld
[root@one01 ~]# setenforce 0

验证openssh是否安装成功

[root@one01 ~]# yum list installed | grep openssh      //搜查openssh
[root@one01 ~]# rpm -ql openssh

4.禁止root登录
查看并修改ssh服务端的配置文件
[root@one01 ~]# ls /etc/ssh/
ssh_config     //ssh主配置文件

修改配置文件/etc/ssh/ssd_config, 不允许root账户远程登录
[root@one01 ~]# vim /etc/ssh/sshd_config
38行

[root@two01 ~]# ssh -l root -p 22 192.168.195.11   不允许登录

四、SSH服务任务解决方法


1.创建用户并设置密码
[root@one01 ~]# useradd trow
[root@one01 ~]# passwd trow

[root@two01 ~]# ssh -ltrow -p22 192.168.195.11   允许登录
trow@192.168.8.131's password: 
[ trow@one01 ~]$ 

[root@one01 trow]# useradd lisi
[root@one01  trow]# passwd lisi

2.远程连接登录
[root@two01 ~]# ssh -ltrow -p22 192.168.195.11 
trow@192.168.195.11's password: 
Last login: Wed Jul 17 14:42:46 2024
[trow@one01 ~]$ ssh -llisi -p22 192.168.195.11
[lisi@aa ~]$ 

3.trow lisi 都添加到附加组
[root@one01 ~]# groupadd code    创建附加组
[root@one01 ~]# usermod -g code trow
[root@one01 ~]# usermod -g code lisi

4.更改目录文件所属组  为code目录添加code组权限
[root@one01 ~]# chgrp -R code /code/    将code所属组修改为code组
[root@one01 ~]# ls -l /
[root@one01 ~]#chmod -R g+w /code/    为code目录的组用户加上w权限
5.测试用户权限
[root@one01 ~]# su trow
[trow@one01 root]$ touch /code/woshitrow.txt
[trow@one01 root]$ exit
exit
[root@one01 ~]# su lisi
[lisi@one01 root]$ touch /opt/woshilisi
touch: 无法创建"/opt/woshilisi": 权限不够
[lisi@aa root]$ touch /code/woshilisi

6.更改SSH默认端口
修改主配置文件
[root@one01 ~]# vim /etc/ssh/sshd_config

重启ssh服务
[root@aone01~]# systemctl restart sshd

验证
[root@two01 ~]# ssh -llisi 192.168.195.11
ssh: connect to host 192.168.195.11 port 22: Connection refused
[root@two01 ~]# ssh -llisi  -p 9999 192.168.195.11
lisi@192.168.195.11's password: 
Last login: Wed Jul 17 15:04:48 2024
ssh连接服务器,如果服务端口是22,可以不用添加-p选项

如果不是22端口,就必须添加-p选项

ssh -p 9999 list@192.168.195.11

7.安装pwgen密码生成工具
[root@one01 ~]# yum -y install pwgen

8.使用pwgen生成随机密码
pwgen 选项参数 长度 生成个数

[root@one01 ~]# pwgen -cnBs1 10 1

注意:SSH服务补充

1.scp命令
主要功能:用于Linux系统与Linux系统之间进行文件的传输(上传、下载)

上传:

 scp [选项]本地文件路径 远程用户名@远程服务器的IP地址:远程文件存储路径
-r:递归上传,主要针对文件夹
-P:更换了SSH服务的默认端口必须使用-P选项

下载:

#scp [选项]远程用户名@远程服务器的IP地址:远程文件路径 本地文件存储路径
-r:递归上传,主要针对文件夹
-P:更换了SSH服务的默认端口必须使用-P选项

scp上传也要注意用户权限问题,没有权限的目录无法上传

2.踢出用户
查看当前在线用户

[root@one01 ~]# who

root     pts/0        2024-07-17 11:29 (192.168.8.1)
wangwu   pts/1        2024-07-17 16:11 (192.168.8.132)

踢出某个账户

[root@one01 ~]# pkill -kill -t pts/1

五、SSH免密登录的具体实现

第一步:在A主机针对某个账号(tom或jerry)生成公钥与私钥

第二步:使用某些方法把公钥发送到B主机中,然后追加到authorized_keys文件中

第三步: 测试是否实现免密登录

方法一:比较常用(trow)

1.在A主机针对某个账号生成公钥与私钥
# ssh-keygen

~/.ssh/id_res 私钥

~/.ssh/id_ras.pub 公钥

[trow@one01 ~]$ ls ./.ssh/
id_rsa  id_rsa.pub  known_hosts
[trow@one01 ~]$ ls ./.ssh/ -l
总用量 12
-rw------- 1 zhangsan code 1675 7月  17 16:17 id_rsa
-rw-r--r-- 1 zhangsan code  393 7月  17 16:17 id_rsa.pub
-rw-r--r-- 1 zhangsan code  175 7月  17 14:50 known_hosts

使⽤ssh-copy-id把公钥⽂件中的内容传输到服务器端的~/.ssh/authorized_keys⽂件中
[trow@one01 ~]$ ssh-copy-id root@192.168.195.12

[trow@one01 ~]$ ssh -l root 192.168.195.12   第二次不需要密码
Last login: Wed Jul 17 10:30:30 2024 from 192.168.95.11
[root@two01 ~]# 

[root@two01 ~]# ls ./.ssh/ 
authorized_keys  known_hosts

方法二:

1、随便找个账户执行ssh-keygen按3次回车,会在当前用户的家目录下生成~/.ssh/id_res私钥和/.ssh/id_rsa_pub公钥
 2、ssh-copy-id  -p 22 root@10.0.0.11  用root对root,用trow对trow免密
 3、ssh -p xxx  root@ip地址

练习

1.新增账号 zhangsan lisi wangwu zhaoliu aaa bbb ccc ddd   //去两台新机子

[root@x ~]# groupadd code
您在 /var/spool/mail/root 中有新邮件
[root@x ~]# useradd -g code zhangsan
[root@x ~]# useradd -g code lisi
[root@x ~]# useradd -g code wangwu
[root@x ~]# useradd -g code zhaoliu
[root@x ~]# useradd -g code aaa
[root@x ~]# useradd -g code bbb
[root@x ~]# useradd -g code ccc
[root@x ~]# useradd -g code ddd

 2.设置和账号同名的如果长度不够8位就重复账号

[root@x ~]# passwd zhangsan
更改用户 zhangsan 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@x ~]# passwd lisi
更改用户 lisi 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@x ~]# passwd wangwu
更改用户 wangwu 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@x ~]# passwd zhaoliu
更改用户 zhaoliu 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@x ~]# passwd aaa
更改用户 aaa 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@x ~]# passwd bbb
更改用户 bbb 的密码 。
新的 密码:
无效的密码: 密码是一个回文
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@x ~]# passwd ccc
更改用户 ccc 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

3.设置这些账户都有对code目录w的权限

[root@x ~]# useradd -g code zhangsan
[root@x ~]# useradd -g code lisi
[root@x ~]# useradd -g code wangwu
[root@x ~]# useradd -g code zhaoliu
[root@x ~]# useradd -g code aaa
[root@x ~]# useradd -g code bbb
[root@x ~]# useradd -g code ccc
[root@x ~]# useradd -g code ddd

4.为以上的用户设置免密登录

zhangsan免密登录:

[root@b ~]# su zhangsan
[zhangsan@b root]$ ssh-keygen

[zhangsan@b root]$ cd
[zhangsan@b ~]$ ls ./.ssh/
authorized_keys  id_rsa  id_rsa.pub  known_hosts
[zhangsan@b ~]$ ssh-copy-id root@192.168.195.13

[zhangsan@b ~]$ ssh -l root 192.168.195.13
Last login: Wed Jul 17 16:25:08 2024 from 192.168.195.14

lisi免密登录:

[root@b ~]# su lisi
[lisi@b root]$ ssh-keygen

[lisi@b root]$ cd
[lisi@b ~]$ ls ./.ssh/
authorized_keys  id_rsa  id_rsa.pub  known_hosts
[lisi@b ~]$ ssh-copy-id root@192.168.195.13

[lisi@b ~]$ ssh -l root 192.168.195.13

Last login: Wed Jul 17 16:25:08 2024 from 192.168.195.14

wangwu免密登录:

[root@b ~]# su wangwu
[wangwu@b root]$ ssh-keygen

[wangwu@b root]$ cd
[wangwu@b ~]$ ls ./.ssh/
authorized_keys  id_rsa  id_rsa.pub  known_hosts
[wangwu@b ~]$ ssh-copy-id root@192.168.195.13

[wangwu@b ~]$ ssh -l root 192.168.195.13

Last login: Wed Jul 17 16:25:08 2024 from 192.168.195.14

zhaoliu免密登录:

[root@b ~]# su zhaoliu
[zhaoliu@b root]$ ssh-keygen

[zhaoliu@b root]$ cd
[zhaoliu@b ~]$ ls ./.ssh/
authorized_keys  id_rsa  id_rsa.pub  known_hosts
[zhaoliu@b ~]$ ssh-copy-id root@192.168.195.13

[zhaoliu@b ~]$ ssh -l root 192.168.195.13
Last login: Wed Jul 17 16:25:08 2024 from 192.168.195.14

aaa免密登录:

[root@b ~]# su aaa
[aaa@b root]$ ssh-keygen

[aaa@b root]$ cd

[aaa@b ~]$ ls ./.ssh/
authorized_keys  id_rsa  id_rsa.pub  known_hosts
[aaa@b ~]$ ssh-copy-id root@192.168.195.13

[aaa@b ~]$ ssh -l root 192.168.195.13
Last login: Wed Jul 17 16:25:08 2024 from 192.168.195.14

 bbb免密登录:

[root@b ~]# su bbb
[bbb@b root]$ ssh-keygen

[bbb@b root]$ cd
[bbb@b ~]$ ls ./.ssh/
authorized_keys  id_rsa  id_rsa.pub  known_hosts
[bbb@b ~]$ ssh-copy-id root@192.168.195.13

[bbb@b ~]$ ssh -l root 192.168.195.13
Last login: Wed Jul 17 16:25:08 2024 from 192.168.195.14

ccc免密登录:

[root@b ~]# su ccc
[ccc@b root]$ ssh-keygen

[ccc@b root]$ cd
[ccc@b ~]$ ls ./.ssh/
authorized_keys  id_rsa  id_rsa.pub  known_hosts
[ccc@b ~]$ ssh-copy-id root@192.168.195.13

[ccc@b ~]$ ssh -l root 192.168..195.13
Last login: Wed Jul 17 16:25:08 2024 from 192.168.195.14

  • 17
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将Node.js应用程序部署在Nginx上,您可以按照以下步骤进行操作: 1. 安装Node.js:首先,确保您在服务器上安装了Node.js。您可以从Node.js官方网站下载并安装适合您操作系统的Node.js版本。 2. 启动Node.js应用程序:在服务器上,使用Node.js命令启动您的应用程序。例如,如果您的应用程序入口文件为`app.js`,可以使用以下命令启动应用程序: ``` node app.js ``` 3. 配置Nginx代理:现在,您需要配置Nginx以将传入的HTTP请求代理到Node.js应用程序。 - 打开Nginx配置文件(通常是`/etc/nginx/nginx.conf`或`/etc/nginx/conf.d/default.conf`)。 - 在`server`块内添加以下配置: ``` location / { proxy_pass http://localhost:3000; # 将端口3000替换为您应用程序实际运行的端口 proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } ``` - 保存并关闭配置文件。 4. 重新启动Nginx:使用适合您的操作系统的命令重新启动Nginx服务。例如,对于Ubuntu,可以使用以下命令: ``` sudo service nginx restart ``` 现在,您的Node.js应用程序应该通过Nginx代理进行访问。您可以使用服务器的IP地址或域名来访问应用程序。请确保您的应用程序正在监听与Nginx配置文件中指定的端口相同的端口。在上述示例中,应用程序应该在端口3000上运行。 请注意,这只是最基本的配置示例。根据您的需求和应用程序的特定要求,您可能需要进行其他配置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值