zoukankan      html  css  js  c++  java
  • Linux服务器开发环境准备

    前言

             因为后面要探索分布式相关的技术,因此我在腾讯云申请了一台免费试用的云服务器。后续会续费,支持云服务。拿到的云服务器,很多的的开发所需要的环境需要我们自己去构建,因此,我在此稍微做一下分享。

    Linux服务器介绍

     

    上图中是取到云服务器时,在根目录下最初始的目录。linux系统的目录是一个树状的目录结构。在此着重介绍几个目录。

    ①/bin:bin是binary的缩写,用于存储最经常使用的命令。

    ②/boot:存放启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。

    ③/dev:存放linux的外部设备,在Linux中访问设备的方式和访问文件的方式相同。

    ④/etc:存放所有系统管理员所需要的配置文件和目录。

    ⑤/home:用户的主目录,每一个用户都有自己的目录,而且这个目录是以用户账号命名的。

    ⑥/lost+found:这个目录一般为空,除非非法关机后,会存储一些文件。

    ⑦/root:这个目录是系统管理员,也称作超级用户的主目录。

    ⑧/src:存放一些服务启动之后需要提取的一些文件。

    ⑨/usr:非常重要的一个目录,许多应用程序和文件都存放在这个目录下。

    ⑩/var:存放不断扩充的文件,比如日志文件等等。

    JDK准备

     

    1.将tar文件解压,同时复制到 /usr/local/java 目录下。

    2.配置环境变量 vim /etv/profile ,在该文件下追加,source /etc/profile不需要重启系统,重新加载一下该文件即可。

    export JAVA_HOME=/usr/local/java/jdk1.8.0_181
    export JRE_HOME=${JAVA_HOME}/jre
    export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
    export PATH=${JAVA_HOME}/bin:$PATH

     使用java -version验证一下是否配置正确。

     

    MYSQL准备

    1.安装部分包:yum -y install numactl libaio*

    2. 下载tar文件

    3.解压复制到/usr/local/mysql目录下

    ①首先将tar文件解压,tar -zxvf mysql-5.6.41-linux-glibc2.12-x86_64.tar.gz.

    ②将mysql-5.6.41-linux-glibc2.12-x86_64这个目录包含目录下的所有文件复制到/user/local。并且新目录指定为mysql。cp -r mysql-5.6.41-linux-glibc2.12-x86_64 /usr/local/mysql。

    4.添加系统mysql组和mysql用户

    [root@localhost src]# groupadd mysql
    [root@localhost src]# useradd -r -g mysql mysql

     5.安装数据库

    创建mysql数据和日志存放目录
    [root@localhost src]# cd /
    [root@localhost /]# mkdir data
    [root@localhost /]# cd data
    [root@localhost data]# mkdir mysql
    [root@localhost data]# cd mysql
    [root@localhost mysql]# mkdir data
    [root@localhost mysql]# mkdir log
    [root@localhost mysql]# cd log
    [root@localhost log]# touch error.log
    [root@localhost log]# chown -R mysql:mysql /data/mysql/log
    [root@localhost log]# chown -R mysql:mysql /data/mysql/data
    
    切到mysql安装目录
    [root@localhost src]# cd /usr/local/mysql
    
    修改当前目录拥有者为mysql用户
    [root@localhost mysql]# chown -R mysql:mysql ./
    
    安装数据库
    [root@localhost mysql]# ./scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/data/mysql/data --user=mysql

     在执行安装时出现了错误。此时我们主要安装安装autoconf库。 命令:yum-y install autoconf (此包安装时会安装Data:Dumper模块)

    FATAL ERROR: please install the following Perl modules before executing ./scripts/mysql_install_db:
    Data::Dumper。

    继续执行,无报错。

    6.设置mysql开机自启动

    将服务文件拷贝到init.d下,并重命名为mysqld
    [root@localhost mysql]# cp /usr/local/mysql/support-files/mysql.server  /etc/init.d/mysqld
    
    修改/etc/init.d/mysqld文件
    [root@localhost mysql]# vi /etc/init.d/mysqld
    设置basedir和datadir的路径,配置如下:
    basedir=/usr/local/mysql
    datadir=/usr/local/mysql/data
    
    赋予可执行权限
    [root@localhost mysql]# chmod +x /etc/init.d/mysqld
    
    加入开机启动
    [root@localhost mysql]# chkconfig --add mysqld

     接下来需要安装修改/etc/my.cnf文件

    [mysqld]
    user = mysql
    port = 3306
    autocommit = 1
    server_id = 20180827
    character-set-server=utf8
    lower_case_table_names=1
    basedir = /usr/local/mysql
    datadir = /data/mysql/data
    socket = /tmp/mysql.sock
    pid-file = /data/mysql/data/mysqld.pid
    
    # connection settings #
    interactive_timeout=1800
    wait_timeout=1800
    max_connections =1000
    
    # session memory settings #
    read_buffer_size=16M
    read_rnd_buffer_size=64M
    
    # log settings #
    log_error = /data/mysql/log/error.log
    slow_query_log_file = /data/mysql/log/slow.log
    log-bin=/data/mysql/log/mysql-bin
    expire_logs_days=7
    slow_query_log = 1
    long-query-time = 1 #慢查询时间 超过1秒则为慢查询
    
    # innodb settings #
    innodb_log_buffer_size=64M
    innodb_sort_buffer_size=2M
    sort_buffer_size=64M
    thread_cache_size=80
    
    # replication settings #
    master_info_repository = TABLE
    relay_log_info_repository = TABLE
    sync_binlog = 1
    log_slave_updates
    binlog_format=row
    binlog_rows_query_log_events = 1
    relay_log = relay.log
    relay_log_recovery = 1
    slave_skip_errors = ddl_exist_errors
    slave-rows-search-algorithms = 'INDEX_SCAN,HASH_SCAN'
    
    replicate-ignore-db=mysql
    replicate-ignore-db=information_schema
    replicate-ignore-db=performance_schema
    replicate-ignore-db=test

    7.启动服务并且初始化密码

    启动mysql服务
    [root@localhost mysql]# service mysqld start
    Starting MySQL.. SUCCESS!
    
    配置环境变量(也可以用不配置环境变量,设置软链接)
    [root@localhost mysql]# vi /etc/profile
    加入以下内容:
    PATH=/usr/local/mysql/bin:$PATH
    export PATH
    
    使配置立即生效
    [root@localhost mysql]# source /etc/profile
    
    修改密码
    [root@localhost mysql]# mysql
    Welcome to the MySQL monitor.  Commands end with ; or /g.
    Your MySQL connection id is 1
    Server version: 5.6.41-log MySQL Community Server (GPL)
    
    Copyright (c) 2000, 2018, 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> set password for root@localhost = password('root');
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> grant all privileges on *.* to root@'%' identified by 'root';
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> flush privileges;
    Query OK, 0 rows affected (0.00 sec)
    
    重新登录
    mysql> exit
    Bye
    [root@localhost 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.6.41-log MySQL Community Server (GPL)
    
    Copyright (c) 2000, 2018, 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> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | performance_schema |
    | test               |
    +--------------------+
    4 rows in set (0.00 sec)

    如果出现ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)的问题,表明密码设置不正确,可采取以下的方式修改密码,重新尝试连接。

    1.关闭mysql
       # service mysqld stop
    2.屏蔽权限
       # mysqld_safe --skip-grant-table
       屏幕出现: Starting demo from .....
    3.新开起一个终端输入
       # mysql -u root mysql
       mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
       mysql> FLUSH PRIVILEGES;//记得要这句话,否则如果关闭先前的终端,又会出现原来的错误
       mysql> q

    ZOOKEEPER准备

     1.下载并且解压到/usr/local/zookeeper目录下

    2.配置环境变量

    % export ZOOKEEPER_INSTALL=/home/tom/zookeeper-x.y.z
    % export PATH=$PATH:$ZOOKEEPER_INSTALL/bin

    3.在运行Zookeepr前,应先建立配置文件,按惯例命名为zoo.cfg,并把它放在conf子目录下,也可以把它放在/etc/zookeeper下。 

    tickTime=2000(是Zookeeper独立的工作时间单元)  
    dataDir=/Users/tom/zookeeper(存储数据的地址)  
    clientPort=2181(2181是经常的选择,此处是关于用户和Zookeeper相连的地方)  

    4.独立模式配置

    配置conf/zoo.conf文件 
    tickTime=2000
    dataDir=/usr/zdatadir
    dataLogDir=/usr/zlogdir
    clientPort=2181
    initLimit=5
    syncLimit=2

    5.启动zookeeper

    bin/zkServer.sh start
    bin/zkCli.sh –server 127.0.0.1:2181
  • 相关阅读:
    Android内存管理之道
    What a C programmer should know about memory
    Android Bitmap缓存池使用详解
    android 5.0主题风格研究
    最受欢迎的5个Android ORM框架
    目前具体实现 material design 有什么途径?
    计算机的数学要求(?转)
    机器智能公司一览图 | 36氪
    Android中Context
    从源码的角度深入分析Scroller
  • 原文地址:https://www.cnblogs.com/sunshine798798/p/9739627.html
Copyright © 2011-2022 走看看