Linux服务器开发环境准备

Posted 此账户已注销或冻结

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

 

以上是关于Linux服务器开发环境准备的主要内容,如果未能解决你的问题,请参考以下文章

准备好linux编程环境,现场手撕定时器实现

第1章 Linux系统编程入门——Linux开发环境搭建

第一章 Linux系统介绍与环境搭建准备

准备好linux环境,手撕一个reactor网络模块

微信公众号开发的开发环境要求和准备工作

Odoo 12开发之开发环境准备