Centos 安装NodeJs/Mysql/Nginx/Pm2/SSH/SFTP/CURL/Redis

433 阅读5分钟

前言(新服务器情况下)

sudo passwd root    //修改root密码

su root //给root超级权限

基础命令

systemctl 系统服务命令

1.启动
systemctl start sshd

2.重启
systemctl restart sshd

3.停止
systemctl sshd stop

4.开启/关闭 开机自启动
systemctl enable[disable] sshd

5.查看是否开机启动
systemctl list-unit-files |grep ssh

安装Mysql

1.查看centos是否有mariadb
rpm -qa|grep mariadb

2.若有则删除mariadb数据库
rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64

3.删除配置
rm /etc/my.cnf

4.下载yum repository
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

5.安装yum repository
yum -y install mysql57-community-release-el7-10.noarch.rpm

6.安装mysql-server
yum -y install mysql-community-server

7.启动mysqld服务
systemctl start mysqld.service

8.若第7步报错 Failing package is:mysql-community-client-5.7.38-1.el7.x86.rpm is not installed

  8.1 rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 重设GPG地址
  8.2 yum -y install mysql-server  重新安

9.启动mysql
systemctl start mysqld.service

10.查看mysql初始化密码
grep "password" /var/log/mysqld.log

11.登陆mysql
mysql -u root -p (备注:输入刚刚默认的密码)

12.设置密码策略
set global validate_password_policy=0;

set global validate_password_length=1;

13.修改密码(修改后才有操作数据库权限)
ALTER USER 'root'@'localhost' IDENTIFIED BY 'woaideren1314';

14.查询数据库
show databases;

15.查询数据库允许访问地址(此时是localhost)
use mysql;
select user,host from user;

16.修改用户访问权限为任意地址(%代表所有)
update user set host = '%' where user = 'root';

17.查看是否修改成功
select user,host from user where user="root";

18.更新数据库
flush privileges;

19.此时本地可以通过navicat 访问远程数据库了


### 卸载Mysql

1.查看mysql有哪些文件
rpm -qa|grep -i mysql

2.删除文件
yum remove 文件名

3.查找mysql配置文件
find / -name mysql

4.依次删除这些配置文件
rm -rf 



### Mysql常规结构

数据库目录: /var/lib/mysql/
配置文件: /usr/share/mysql(mysql.server命令及配置文件)
相关命令: /usr/bin(mysqladmin mysqldump等命令)
配置文件: /etc/my.conf
启动脚本:/etc/rc.d/init.d/(启动脚本文件mysql的目录)

安装NodeJs

1.进入安装目录
cd /usr/local

2.下载nodeJs
wget https://nodejs.org/dist/v16.15.1/node-v16.15.1-linux-x64.tar.xz

3.解压安装包
tar -xvf node-v16.15.1-linux-x64.tar.xz

4.删除多余的安装包
rm node-v16.15.1-linux-x64.tar.xz

5.打开环境变量文件
vi /etc/profile
 
6.进行编辑,最后末尾加上
# nodeJs
export NODE_HOME=/usr/local/node-v16.15.1-linux-x64
export PATH=$NODE_HOME/bin:$PATH

7.让环境变量生效
source /etc/profile  

8.查看是否成功
node -v
npm -v

安装PM2(nodeJs前提下)

全局安装
npm install -g pm2

### pm2简单命令

1.查看进程
pm2 list

2.启动node服务
pm2 start --name [nodeName] index.js

3.停止/重载/重启/删除 所有进程
pm2 stop[reload|restart|delete] all

4.停止/重载/重启/删除 pm2进程列表中进程为0的进程
pm2 stop[reload|restart|delete] 0

5.显示所有进程的日志
pm2 logs [--raw]

6.清空所有日志文件
pm2 flush

7.重载所有日志
pm2 reloadLogs

个人喜欢:pm2 start npm --name "student" -- run start:prod 运行NestJs

开启SSH和SFTP


1.查看是否有ssh服务(一般情况下默认安装)
rpm -qa|grep openssh

2.若无安装
yum -y install sshd 
yum install openssh-server

3.修改ssh配置(找到以属性全部打开)
vi /etc/ssh/sshd_config

Port 22 
AddressFamily any
ListenAddress 0.0.0.0
ListenAddress ::
PermitRootLogin yes             //允许root登陆
PasswordAuthentication yes      //允许账户密码登陆

4.重启ssh服务
systemctl restart sshd 

6.开启自启ssh
systemctl enable sshd

5.检查ssh是否开启
ps -ef | grep sshd

6.检查22端口是否开启
netstat -an | grep 22

7.此时可以本地可以使用SSH和SFTP链接了(推荐Mac使用 Tabby软件)

Mysql基础配置文件

  登录如数据库 status;查看数据库编码和其余状态
 [mysql]
    # 设置mysql客户端默认字符集
    default-character-set=utf8 
    [mysqld]
    skip-name-resolve
    #设置3306端口
    port = 3306 
    # 设置mysql的安装目录
    basedir=/usr/local/mysql
    # 设置mysql数据库的数据的存放目录
    datadir=/usr/local/mysql/data
    # 允许最大连接数
    max_connections=200
    # 服务端使用的字符集默认为8比特编码的latin1字符集
    character-set-server=utf8
    # 创建新表时将使用的默认存储引擎
    default-storage-engine=INNODB 
    lower_case_table_names=1
    max_allowed_packet=16M

Nginx安装


1.进入安装目录
cd /usr/local

2.下载安装文件
wget http://nginx.org/download/nginx-1.20.0.tar.gz

3.安装nginx所需依赖 
yum -y install gcc gcc-c++  //编译
yum -y install pcre pcre-devel //nginx重写功能
yum -y install openssl openssl-devel  //https套接字
yum -y install zlib zlib-devel //nginx用它gzip压缩

4.解压安装包
tar -zxvf nginx-1.20.0.tar.gz

5.进入安装目录
cd nginx-1.20.0

6.编译前检查准备
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module --with-pcre

--prefix=/usr/local/nginx    //检查平台安装环境
--with-http_stub_status_module  //支持nginx状态查询
--with-http_ssl_module   //支持https
--with-pcre  //为了支持rewrite重写功能,必须制定pcre

7.编译安装
make && make install

8.指定配置文件启动nginx
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

9.浏览器直接访问ip,若显示nginx页面,则安装成功

10.nginx开启自启
//新建文件
vim /lib/systemd/system/nginx.service

//添加内容
[Unit]
Description=nginx.server
After=network.target

[Service]
Type=forking
PIDFILE=/var/run/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecRepload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target

//设置开机启动项
systemctl enable nginx.service

11.指定nginx为系统变量(可以直接输入nginx命令)
ln -s /usr/local/nginx/sbin/nginx /usr/bin/

安装Curl

1.进入安装目录
cd /usr/local

2.下载安装包
wget https://curl.se/download/curl-7.54.0.tar.gz

3.解压文件并重命名
tar -zxf curl-7.54.0.tar.gz
mv curl-7.54.0 curl

4.进入文件夹,并验证配置
./configure --prefix=/usr/local/curl

5.编译
make && make install

6.检查时否安装成功
curl -version(或--version)

Bug问题
1.curl: (48) An unknown option was passed in to libcurl
  执行sudo ldconfig

2.configure: error: select TLS backend(s) or disable TLS with --without-ssl.
  执行./configure --prefix=/usr/local/curl --with-wolfssl

安装Redis


1.下载安装包
wget http://download.redis.io/releases/redis-6.0.6.tar.gz

2.进入安装目录/usr/local

3.解压并进入文件
tar -zxvf redis-6.0.6.tar.gz
cd redis-6.0.6.tar.gz

4.编译测试
make test

5.安装(软链/usr/local/bin目录)
sudo make install

6.启动redis服务
redis-server

7.redis客户端
redis-cli

8.退出redis服务
进入redis-cli 输入shutdown



### 若中途提示(需要安装pkg-config)
pkg-config:command not found

1.下载安装包(自己看下安装包)
https://pkgconfig.freedesktop.org/releases/pkg-config-0.29.2.tar.gz

2.解压并进入文件
tar -zxvf pkg-config-0.29.2.tar.gz
cd pkg-config-0.29.2

3.配置检测
./configure --with-internal-glib
可能参数 
	--build=编译平台    x86_64
	--host=运行平台     arm
	--target=目标平台   mips

4.编译
make

5.安装
make install

### 清除编译
make clean
make clean all
make install