Linux小白基础环境搭建汇总

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
简介: 以Centos7为例。由于系统是新购买的,所以这里(未使用docker)进行了ssh端口修改,防火墙配置,磁盘挂载,创建用户,JDK,Mysql,Redis,Nginx等安装。

以Centos7为例。由于系统是新购买的,所以这里(未使用docker)进行了ssh端口修改,防火墙配置,磁盘挂载,创建用户,JDK,Mysql,Redis,Nginx等安装。

一、磁盘挂载

[root@iZuf69k182ad10go3ll24pZ ~]# fdisk -l   //查看磁盘信息

image.gif

[root@iZuf69k182ad10go3ll24pZ ~]# fdisk /dev/sdb     //开始格式化
a). n    //表示设定新的硬盘分割区
b). p    //表示设置的是主要分割区
c). 1    //或者回车默认选择1
d). 2048 //或者回车默认
e). 回车默认
f). w  //保存

image.gif

[root@iZuf69k182ad10go3ll24pZ ~]# fdisk -l    //查看刚分配的盘符,如/dev/sdb1

image.gif

[root@iZuf69k182ad10go3ll24pZ ~]# mkfs -t ext4 /dev/sdb1   //格式化, 这里指定文件类型为ext4, 默认ext2,比较不建议

image.gif

[root@iZuf69k182ad10go3ll24pZ ~]# mkdir /data/svdb    //创建要挂载目录
[root@iZuf69k182ad10go3ll24pZ ~]# mount /dev/sdb1  /data/svdb   //挂载
[root@iZuf69k182ad10go3ll24pZ ~]# df -HT   //查看挂载情况

image.gif

二、修改SSH端口

[root@iZuf69k182ad10go3ll24pZ ~]# vim /etc/ssh/sshd_config    //修改配置

image.gif

image.png

端口添加完,wq!保存退出。建议22端口先留着,等新端口测试通过之后再屏蔽。

[root@iZuf69k182ad10go3ll24pZ ~]# systemctl restart sshd.service   //重启

image.gif

三、防火墙配置

[root@iZuf69k182ad10go3ll24pZ ~]# firewall-cmd --state   //查看防火墙状态

image.gif

[root@iZuf69k182ad10go3ll24pZ ~]# systemctl start firewalld  //开启防火墙,如果已开启,忽略这一步

image.gif

[root@iZuf69k182ad10go3ll24pZ ~]# systemctl enable firewalld  //设置开机自启

image.gif

[root@iZuf69k182ad10go3ll24pZ ~]# firewall-cmd --zone=public --permanent --add-port=22212/tcp     //开启ssh新添加的22212端口

image.gif

[root@iZuf69k182ad10go3ll24pZ ~]# systemctl restart firewalld  //重启防火墙

image.gif

[root@iZuf69k182ad10go3ll24pZ ~]# firewall-cmd --list-ports  //查看防火墙开放端口

image.gif

服务器安全组端口记得也要放行。

四、添加用户

[root@iZuf69k182ad10go3ll24pZ ~]# useradd -d /data/svdb/kuria -m kuria     //添加用户名为kuria的用户,并指定访问根目录为/data/svdb/kuria

image.gif

[root@iZuf69k182ad10go3ll24pZ ~]# passwd kuria   //设置密码

image.gif

[root@iZuf69k182ad10go3ll24pZ ~]# chown -R kuria:kuria /data/svdb/kuria   //文件夹授权

image.gif

[root@iZuf69k182ad10go3ll24pZ ~]# chmod 760 /data/svdb/kuria   //用户授760权限

image.gif

五、安装JDK

[root@iZuf69k182ad10go3ll24pZ ~]# rpm -qa | grep java    //查看已安装的jdk

image.gif

[root@iZuf69k182ad10go3ll24pZ ~]# rpm -e --nodeps java-1.7.0-openjdk-1.7.0.65-2.5.1.2.el6_5.x86_64    //如果系统默认安装了openJDK,将其卸载。如果没有则忽略此步

image.gif

SFTP上传jdk包,或者通过wget下载。

[root@iZuf69k182ad10go3ll24pZ software]# tar -zxvf jdk-8u131-linux-x64.tar.gz    //解压

image.gif

[root@iZuf69k182ad10go3ll24pZ software]# vim /etc/profile   //配置环境变量

image.gif

image.png

[root@iZuf69k182ad10go3ll24pZ software]# source /etc/profile   //环境变量生效

image.gif

[root@iZuf69k182ad10go3ll24pZ software]# java -version   //查看版本
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)

image.gif

六、安装Mysql 5.7

卸载centos7自带的mariadb

[mysql@iZuf69k182ad10go3ll24pZ ~]$ rpm -qa | grep mariadb
mariadb-libs-5.5.60-1.el7_5.x86_64
[mysql@iZuf69k182ad10go3ll24pZ ~]$ rpm -e mariadb-libs-5.5.60-1.el7_5.x86_64 --nodeps

image.gif

下载mysql官方Yum Repository

[mysql@iZuf69k182ad10go3ll24pZ ~]$ wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

image.gif

使用yum安装

[mysql@iZuf69k182ad10go3ll24pZ ~]$ yum -y install mysql57-community-release-el7-10.noarch.rpm

image.gif

查看mysql源是否安装成功,如下就是成功了

[root@iZuf69k182ad10go3ll24pZ mysql]# yum repolist enabled | grep "mysql.*-com*"
mysql-connectors-community/x86_64 MySQL Connectors Community                 153
mysql-tools-community/x86_64      MySQL Tools Community                      110
mysql57-community/x86_64          MySQL 5.7 Community Server                 424

image.gif

这里可以修改默认安装的版本

[root@iZuf69k182ad10go3ll24pZ mysql]# vim /etc/yum.repos.d/mysql-community.repo

image.gif

image.png

如图,默认安装的版本设置enabled=1,其他设置为0即可,这里默认安装5.7,配置不改。

接下来,安装mysql服务

[root@iZuf69k182ad10go3ll24pZ mysql]# yum install mysql-community-server

image.gif

启动Mysql

[root@iZuf69k182ad10go3ll24pZ mysql]# systemctl start mysqld.service    //启动mysql
[root@iZuf69k182ad10go3ll24pZ mysql]# systemctl status mysqld.service   //查看状态
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since Tue 2020-06-09 09:41:39 CST; 12s ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Process: 13302 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS)
  Process: 13252 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
 Main PID: 13306 (mysqld)
   CGroup: /system.slice/mysqld.service
           └─13306 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid
Jun 09 09:41:35 iZuf69k182ad10go3ll24pZ systemd[1]: Starting MySQL Server...
Jun 09 09:41:39 iZuf69k182ad10go3ll24pZ systemd[1]: Started MySQL Server.

image.gif

开机自启

[root@iZuf69k182ad10go3ll24pZ mysql]# systemctl enable mysqld
[root@iZuf69k182ad10go3ll24pZ mysql]# systemctl daemon-reload

image.gif

安装完后,会默认生成一个root密码,存储路径为:/var/log/mysqld.log。通过以下命令查看root密码

[root@iZuf69k182ad10go3ll24pZ mysql]# grep 'temporary password' /var/log/mysqld.log
2020-06-09T01:41:37.293069Z 1 [Note] A temporary password is generated for root@localhost: 7#fTVZgkr1e4

image.gif

进入mysql,修改默认密码。

注:由于Mysql5.7默认安装了密码安全检查插件,这里设置的新密码必须含有大小写和特殊符号,不然会提示密码过于简单。还有这里的alert user命令需要使用大写。

[root@iZuf69k182ad10go3ll24pZ mysql]# mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.30
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new passwd';
Query OK, 0 rows affected (0.00 sec)
mysql>

image.gif

修改mysql端口,添加port=3313,lower_case_table_names=1忽略大小写,以及更改mysql目录。开放新端口,防火墙也需要配置。

[root@iZuf69k182ad10go3ll24pZ mysql]# systemctl stop mysqld.service  //关闭数据库
[root@iZuf69k182ad10go3ll24pZ mysql]# vim /etc/my.cnf
[mysqld]
port=3313
lower_case_table_names=1
character-set-server=utf8
max_connections=200
basedir=/data/xvdb/mysql/mysql_data
datadir=/data/xvdb/mysql/mysql_data/data
socket=/data/xvdb/mysql/mysql_data/data/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
log-error=/data/xvdb/mysql/mysql_data/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

image.gif

修改mysql目录

[root@iZuf69k182ad10go3ll24pZ mysql]# mkdir /data/xvdb/mysql/mysql_data    //新建文件夹
[root@iZuf69k182ad10go3ll24pZ mysql]# chmod 777 /data/xvdb/mysql/mysql_data   //授权
[root@iZuf69k182ad10go3ll24pZ mysql]# rm -fr /data/xvdb/mysql/mysql_data/ 
[root@iZuf69k182ad10go3ll24pZ mysql]# cp -R /var/lib/mysql /data/xvdb/mysql/mysql_data    //拷贝原有数据文件到新目录
[root@iZuf69k182ad10go3ll24pZ mysql]# mv /var/lib/mysql /var/lib/mysql_bak    //备份原有数据文件
[root@iZuf69k182ad10go3ll24pZ mysql]# chown -R mysql:mysql /data/xvdb/mysql/mysql_data/
[root@iZuf69k182ad10go3ll24pZ mysql]# vim /etc/my.cnf

image.gif

重启Mysql.

为了安全,这里Mysql不对外进行开放, 将使用堡垒机访问。如果要远程可以访问,最好新建远程账户:

mysql> GRANT ALL PRIVILEGES ON *.* TO 'kuria'@'%' IDENTIFIED BY 'Kuria123312%' WITH GRANT OPTION;

image.gif

隧道配置两种方式:

1、借助于Xshell:

image.png

2、使用navicat:

image.png

最后navicat连接信息:

image.png

七、安装Redis

[root@iZuf69k182ad10go3ll24pZ software]# wget http://download.redis.io/releases/redis-5.0.7.tar.gz     //下载redis包
[root@iZuf69k182ad10go3ll24pZ software]# tar -zxvf redis-5.0.7.tar.gz    //解压
[root@iZuf69k182ad10go3ll24pZ software]# cd redis-5.0.7
[root@iZuf69k182ad10go3ll24pZ redis-5.0.7]# make MALLOC=libc    //编译
[root@iZuf69k182ad10go3ll24pZ redis-5.0.7]# make install    //安装,这里默认安装到/usr/local/bin目录下,建立软连接到统一redis目录
[root@iZuf69k182ad10go3ll24pZ redis-5.0.7]# mkdir sbin
[root@iZuf69k182ad10go3ll24pZ redis-5.0.7]# ln -s /usr/local/bin/redis-* ./sbin/
[root@iZuf69k182ad10go3ll24pZ sbin]# ./redis-server ../redis.conf

image.gif

redis配置修改

#这里开启,默认只能本机连接,如果要外部可以连接,这里注释,或者改成0.0.0.0
bind 127.0.0.1
#修改端口
port 6379
#no改为yes
daemonize yes
#这里注释打开,配置密码。默认没有密码
requirepass  123456
#这里notify-keyspace-events ''改为notify-keyspace-events Ex, 开启key过期事件监听
notify-keyspace-events Ex

image.gif

八、Nginx安装

[root@iZuf69k182ad10go3ll24pZ conf]#  wget http://nginx.org/download/nginx-1.14.0.tar.gz   //下载Nginx包
[root@iZuf69k182ad10go3ll24pZ conf]#  yum install gcc-c++
[root@iZuf69k182ad10go3ll24pZ conf]#  yum install -y pcre pcre-devel
[root@iZuf69k182ad10go3ll24pZ conf]#  yum install -y zlib zlib-devel
[root@iZuf69k182ad10go3ll24pZ conf]#  yum install -y openssl openssl-devel  //安装依赖
[root@iZuf69k182ad10go3ll24pZ conf]# tar -zxvf nginx-1.14.0.tar.gz    //解压
[root@iZuf69k182ad10go3ll24pZ conf]# cd nginx-1.14.0
[root@iZuf69k182ad10go3ll24pZ conf]# ./configure --prefix=/data/xvdb/nginx --with-http_stub_status_module --with-http_ssl_module && make && make install  //编译安装,--prefix后为指定编译安装目录。默认为/usr/local/nginx. --with-http_ssl_module为添加ssl模块
[root@iZuf69k182ad10go3ll24pZ conf]# cd /data/xvdb/nginx/sbin
[root@iZuf69k182ad10go3ll24pZ sbin]#./nginx -c ../conf/nginx.conf   //指定配置文件启动nginx

image.gif

nginx配置https:

server {
        listen       443 ssl;
        server_name  mall.xxx.com;
        root html;
  index index.html index.htm;
  ssl_certificate /data/nginx/ssl/shop/4029788_mall.xxx.com.pem;   
  ssl_certificate_key /data/nginx/ssl/shop/4029788_mall.xxx.com.key;  
  ssl_session_timeout 5m;
  ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; 
  ssl_protocols TLSv1 TLSv1.1 TLSv1.2;   
  ssl_prefer_server_ciphers on; 
  location / {
      root /data/kuliya/kuria-ui;
      index /index.html;
      try_files $uri $uri/ /index.html;
        }
        location /api { 
    proxy_pass         http://127.0.0.1:30002;
    proxy_set_header   Host             $host; 
    proxy_set_header   X-Real-IP        $remote_addr; 
    proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for; 
      }
  location /upload { 
    root /data/kuliya/kuria;
    autoindex on;
      }
    }

image.gif

完。

相关文章
|
7月前
|
Ubuntu Linux 开发工具
Linux下的IMX6ULL——环境搭建与软件安装(一)
Linux下的IMX6ULL——环境搭建与软件安装(一)
219 0
Linux下的IMX6ULL——环境搭建与软件安装(一)
|
7月前
|
SQL 数据可视化 Linux
ClickHouse【环境搭建 03】Linux环境离线安装 clickhouse-22.3.3.44 配置参数说明+可视化界面使用(离线安装文件分享百度云盘)
ClickHouse【环境搭建 03】Linux环境离线安装 clickhouse-22.3.3.44 配置参数说明+可视化界面使用(离线安装文件分享百度云盘)
504 0
|
3月前
|
存储 安全 Linux
离线Linux服务器环境搭建
【9月更文挑战第3天】在离线环境下搭建Linux服务器需按以下步骤进行:首先确定服务器用途及需求,准备安装介质与所需软件包;接着安装Linux系统并配置网络;然后设置系统基础参数,如主机名与时区;安装必要软件并配置服务;最后进行安全设置,包括关闭非必要服务、配置防火墙、强化用户认证及定期备份数据。整个过程需确保软件包的完整性和兼容性。
|
5月前
|
消息中间件 Java Kafka
kafka Linux环境搭建安装及命令创建队列生产消费消息
kafka Linux环境搭建安装及命令创建队列生产消费消息
116 4
|
7月前
|
Java Linux
Flume【环境搭建 01】CentOS Linux release 7.5 安装配置 apache-flume-1.9.0 并验证
【2月更文挑战第16天】Flume【环境搭建 01】CentOS Linux release 7.5 安装配置 apache-flume-1.9.0 并验证
141 0
|
6月前
|
Linux 测试技术 开发者
【Docker项目实战】使用Docker部署instantbox临时Linux系统环境搭建工具
【6月更文挑战第13天】使用Docker部署instantbox临时Linux系统环境搭建工具
84 3
|
6月前
|
Linux Windows 虚拟化
【Linux环境搭建实战手册】:打造高效开发空间的秘籍
【Linux环境搭建实战手册】:打造高效开发空间的秘籍
|
5月前
|
负载均衡 Java Linux
黑马头条01,环境搭建,今日头条的介绍,今日头条的功能架构图,技术栈的说明,服务层,nacos(奶靠丝)安装,安装在Linux服务器上环境准备,
黑马头条01,环境搭建,今日头条的介绍,今日头条的功能架构图,技术栈的说明,服务层,nacos(奶靠丝)安装,安装在Linux服务器上环境准备,
|
5月前
|
监控 网络协议 物联网
一款轻量级的通信协议---MQTT (内含Linux环境搭建)
**MQTT协议摘要** MQTT是一种轻量级的发布/订阅型网络协议,适用于低带宽、高延迟或不可靠的网络环境,尤其适合物联网(IoT)设备。其主要特点包括: 1. **发布/订阅模型**:设备通过主题进行通信,发布者无需知道订阅者,订阅者也不需知道消息来源。 2. **轻量级**:协议头部小,减少网络负载,适合资源受限的设备。 3. **断线重连**:支持客户端在失去连接后重新连接,保持通信。 4. **服务质量级别(QoS)**:提供0(最多一次)、1(至少一次)和2(恰好一次)三种级别,保证消息传递的可靠性。
104 0
|
7月前
|
存储 Linux 开发工具
Linux 基础(从环境搭建到基础命令)
Linux 基础(从环境搭建到基础命令)