Centos7部署环境安装及Linux常用命令 * centos系统下各文件夹的作用 * centos7修改系统默认语言 * centos7安装rz/sz命令 * centos7安装netstat * centos7安装lsof命令 * centos7下载并安装jdk并配置环境变量 * centos7安装Tomcat * centos7安装Nginx * centos7安装MySQL * 解决vim的中文乱码问题 * Linux常用命令
centos系统下各文件夹的作用
/: 根目录,一般根目录下只存放目录,不要存放文件,/etc、/bin、/dev、/lib、/sbin应该和根目录放置在一个分区中
/bin:/usr/bin: 可执行二进制文件的目录,如常用的命令ls、tar、mv、cat等。
/boot: 放置linux系统启动时用到的一些文件。
/boot/vmlinuz为linux的内核文件,以及/boot/gurb。建议单独分区,分区大小100M即可
/dev: 存放linux系统下的设备文件,访问该目录下某个文件,相当于访问某个设备,常用的是挂载光驱mount /dev/cdrom /mnt。
/etc: 系统配置文件存放的目录,不建议在此目录下存放可执行文件,重要的配置文件有/etc/inittab、/etc/fstab、/etc/init.d、/etc/X11、/etc/sysconfig、/etc/xinetd.d修改配置文件之前记得备份。注:/etc/X11存放与x windows有关的设置。
/home: 系统默认的用户家目录,新增用户账号时,用户的家目录都存放在此目录下,表示当前用户的家目录,test表示用户test的家目录。建议单独分区,并设置较大的磁盘空间,方便用户存放数据
/lib:/usr/lib:
/usr/local/lib: 系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助,比较重要的目录为/lib/modules。
/lost+fount: 系统异常产生错误时,会将一些遗失的片段放置于此目录下,通常这个目录会自动出现在装置目录下。如加载硬盘于/disk 中,此目录下就会自动产生目录/disk/lost+found
/mnt:/media: 光盘默认挂载点,通常光盘挂载于/mnt/cdrom下,也不一定,可以选择任意位置进行挂载。
/opt: 给主机额外安装软件所摆放的目录。如:FC4使用的Fedora 社群开发软件,如果想要自行安装新的KDE 桌面软件,可以将该软件安装在该目录下。以前的 Linux 系统中,习惯放置在 /usr/local 目录下
/proc: 此目录的数据都在内存中,如系统核心,外部设备,网络状态,由于数据都存放于内存中,所以不占用磁盘空间,比较重要的目录有/proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/*等
/root: 系统管理员root的家目录,系统第一个启动的分区为/,所以最好将/root和/放置在一个分区下。
/sbin:/usr/sbin:/usr/local/sbin: 放置系统管理员使用的可执行命令,如fdisk、shutdown、mount等。与/bin不同的是,这几个目录是给系统管理员root使用的命令,一般用户只能”查看”而不能设置和使用。
/tmp: 一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下
/srv: 服务启动之后需要访问的数据目录,如www服务需要访问的网页数据存放在/srv/www内
/usr: 应用程序存放目录,
/usr/bin 存放应用程序,
/usr/share 存放共享数据,
/usr/lib 存放不能直接运行的,却是许多程序运行所必需的一些函数库文件。
/usr/local:存放软件升级包。
/usr/share/doc: 系统说明文件存放目录。
/usr/share/man: 程序说明文件存放目录,使用 man ls时会查询/usr/share/man/man1/ls.1.gz的内容建议单独分区,设置较大的磁盘空间
/var: 放置系统执行过程中经常变化的文件,如随时更改的日志文件 /var/log,/var/log/message: 所有的登录文件存放目录,/var/spool/mail: 邮件存放的目录, /var/run: 程序或服务启动
linux Java开发常用命令 centos7修改系统默认语言 查看系统是否已经安装了中文语言包
查看系统默认语言
修改系统默认语言 修改/etc/locale.conf文件,修改为 LANG=zh_CN.UTF-8
centos7安装开发工具包 英文系统安装: # yum -y groupinstall “Development tools” 中文系统安装: # yum -y groupinstall “开发工具”
centos7安装rz/sz命令 1 2 3 4 5 6 7 8 9 10 yum install -y lrzsz tar -xvzf apache-tomcat-8.5.23.tar.gz tar -zcvf 文件名.tar.gz 要压缩的文件/文件夹 tar -zcvf webfile.tar.gz webfile
centos7安装netstat
centos7安装lsof命令
centos7 yum下载并安装jdk并配置环境变量
检查是否安装过java:
1 yum list installed | grep java
卸载java
1 yum -y remove java-1.8.0-openjdk*
查看java软件包列表
下载安装java1.8的所有软件包,中途需要输入y来确认下载。
1 yum install java-1.8.0-openjdk*
检查是否安装成功
配置环境变量
yum 安装的java默认在/usr/lib/jvm,进入该目录,可以看到java-1.8.0-openjdk-1.8.0.222.b10-1.el7_7.x86_64
,JAVA_HOME指向该目录;在文件底部加入
6.1 当前用户使用:
1 2 3 4 5 6 7 8 vi ~/.bashrc export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-1.el7_7.x86_64:wq
6.2 所有用户使用:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 vi /etc/profile export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-1.el7_7.x86_64export CLASSPATH=.:$JAVA_HOME /lib/dt.jar:$JAVA_HOME /lib/tools.jar:$JAVA_HOME /jre/lib/rt.jarexport PATH=$PATH :$JAVA_HOME /bin. /etc/profile
查看配置的环境变量、安装是否成功
1 2 3 4 5 6 7 8 9 echo $JAVA_HOME java -version javac
centos7安装Tomcat 安装jdk,上传tomcat压缩包,并解压:
1 2 3 4 5 6 7 8 #### 启动tomcat cd apache-tomcat-8.5.23/bin/ sh startup.sh #### 查看启动日志 cd apache-tomcat-8.5.23/logs/ cat catalina.out
centos7安装Nginx 下载Nginx 1 wget http://nginx.org/download/nginx-1.14.0.tar.gz
解压安装包,并进入安装包目录 1 2 tar zxvf nginx-1.14.0.tar.gz cd nginx-1.14.0
编译安装 1 2 3 4 5 6 ./configure make make install
查看nginx版本 1 /usr/local/nginx/sbin/nginx -v
检查配置文件nginx.conf的正确性命令 1 /usr/local/nginx/sbin/nginx -t
正常结果如下:
1 2 nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
创建nginx全局命令 1 ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx
nginx常用命令 1 2 3 4 5 6 7 8 9 10 /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx -s reload /usr/local/nginx/sbin/nginx -s reopen /usr/local/nginx/sbin/nginx -s stop netstat -anput | grep nginx
解决问题
nginx: [error] open() “/usr/local/nginx/logs/nginx.pid” failed (2: No such file or directory)
1 /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
make: *** 没有规则可以创建“default”需要的目标“build”。 停止。 // 安装依赖包 yum install pcre-devel zlib zlib-devel openssl openssl-devel
参考文档 CentOS下安装Nginx并测试通过:https://blog.csdn.net/qq_35976320/article/details/80458079
nginx如何配置负载均衡:https://www.cnblogs.com/yuuje/p/11005992.html
Git安装 安装命令 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 rpm -qa | grep git rpm -e --nodeps git 或者 rpm -e git wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.23.0.tar.gz -nc -c -P /usr/local/src/ cd /usr/local/src/tar -zxvf git-2.23.0.tar.gz cd git-2.23.0make prefix=/usr/local/git all sudo make prefix=/usr/local/git installsudo ln -s /usr/local/git/bin/git /usr/bin/gitgit --version
git配置(可不配置) 1 2 3 4 5 ssh-keygen cd ~/.sshcat id_rsa.pub
安装MySQL centos7下yum安装mysql5.6
查看MySQL可用安装包
查看当前mariadb安装列表
卸载 1 2 rpm -e --nodeps mariadb-5.5.64-1.el7.x86_64 rpm -e --nodeps mariadb-libs-5.5.64-1.el7.x86_64
安装MySQL的yum源 上面的网站找到链接,使用wget安装:
1 wget 'https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm'
安装yum源 1 rpm -Uvh mysql57-community-release-el7-11.noarch.rpm
检查mysql源是否安装成功 1 yum repolist enabled | grep "mysql.*-community.*"
查看有哪些版本的mysql: 1 yum repolist all | grep mysql
mysql-devel:开发用到的库以及包含文件; mysql:mysql客户端; mysql-server:数据库服务器;
默认安装mysql5.7 1 yum install -y mysql-community-server
启动mysql 1 2 3 4 systemctl start mysqld systemctl status mysqld
登录数据库,修改数据库密码 1 grep 'temporary password' /var/log/mysqld.log
登录数据库:
输入密码后回车,进入mysql,执行以下命令:
1 2 SET PASSWORD = PASSWORD('Mysql520!' );
设置远程可以登录 1 2 3 4 GRANT ALL PRIVILEGES ON *.* TO 'root' @'%' IDENTIFIED BY 'Mysql520!' WITH GRANT OPTION; flush privileges;
修改配置文件
修改数据库编码 在最后新增以下内容,修改编码为utf8mb4
1 2 3 4 5 6 7 8 [client] default-character-set = utf8mb4 [mysql] default-character-set = utf8mb4 [mysqld] character-set-client-handshake = FALSE character-set-server = utf8mb4 collation-server = utf8mb4_general_ci
设置时区为东八区 1 default-time_zone = '+8:00'
进入命令行,输入SQL语句:show variables like 'char%';
查看字符集;
sql支持group by语句 1 sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
重启数据库,使配置生效 1 systemctl restart mysqld
设置开机启动 1 2 systemctl enable mysqld systemctl daemon-reload
mysql 设置大小写不敏感 1 show global variables like '%case%' ;
lower_case_file_system:表示当前系统文件是否大小写敏感(ON为不敏感,OFF为敏感),只读参数,无法修改。 lower_case_table_names:表示表名是否大小写敏感,可以修改。 lower_case_table_names = 0时,mysql会根据表名直接操作,大小写敏感。 lower_case_table_names = 1时,mysql会先把表名转为小写,再执行操作。
修改:
1 2 3 vim /etc/my.cnf lower_case_table_names = 1
保存后重启mysql服务。
开放云服务器的3306端口 如果测试连接的时候不能连接成功,请开放云服务器的3306端口。
CentOS7 离线安装node 一、下载 阿里镜像:https://npm.taobao.org/mirrors/node/
我下载的是node-v12.14.0-linux-x64.tar.gz
二、安装 1 2 3 4 # 解压 tar -zxvf node-v12.14.0-linux-x64.tar.gz # 解压位置 /usr/local/install/node-v12.14.0-linux-x64
配置环境变量
1 2 3 4 5 6 7 8 9 10 vim /etc/profile # 配置环境变量 export NODE_HOME=/usr/local/install/node-v12.14.0-linux-x64 export PATH=$NODE_HOME/bin:$PATH # 或者 PATH=$NODE_HOME/bin:$PATH # 使修改生效 source /etc/profile
三、校验是否配置成功方式:
NodeJs 问题处理 问题一、line 3: npm: command not found 1 2 3 4 5 # 添加node软链接 ln -s /usr/local/install/node-v12.14.0-linux-x64/bin/node /usr/bin/node # 如果还是不行,命令前增加 #!/bin/bash -ilex
MySQL主从搭建 一、主服务器master修改: 1 2 3 4 5 vim /etc/my.cnf [mysqld] log-bin=mysql-bin //开启二进制日志 server-id=1 //设置server-id
重启mysql,创建用于同步的用户账号 打开mysql会话shell>mysql -uname -ppassword 创建用户并授权:用户: weyoung 密码: Mysql520!
1 2 3 mysql> CREATE USER weyoung@从数据库的IP IDENTIFIED BY 'Mysql520!' ; / / 创建用户 mysql> GRANT REPLICATION SLAVE ON * .* TO weyoung@从数据库的IP; / / 分配权限 mysql> FLUSH PRIVILEGES; / / 刷新权限
查看master状态 1 2 3 4 5 6 SHOW MASTER STATUS; +------------------+----------+--------------+------------------+-------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | +------------------+----------+--------------+------------------+-------------------+ | mysql-bin.000001 | 779 | | | | +------------------+----------+--------------+------------------+-------------------+
二、从服务器slave修改: 修改mysql配置 同样找到my.cnf配置文件,添加server-id
1 2 [mysqld] server-id=2 //设置server-id,必须唯一
重启mysql,打开mysql会话,执行同步SQL语句(需要主服务器主机名,登陆凭据,二进制文件的名称和位置):
1 2 3 4 5 6 7 mysql> CHANGE MASTER TO -> MASTER_HOST='主数据库IP' , -> MASTER_USER='weyoung' , -> MASTER_PASSWORD='Mysql520!' , -> MASTER_LOG_FILE='mysql-bin.000001' ,-- 注意修改和主数据库一样 -> MASTER_LOG_POS=649;-- 注意修改和主数据库一样
启动slave同步进程:
查看slave状态:
关闭slave状态
MySQL主从仅同步指定库 还可以用到的其他相关参数: master开启二进制日志后默认记录所有库所有表的操作,可以通过配置来指定只记录指定的数据库甚至指定的表的操作,具体在mysql配置文件的[mysqld]可添加修改如下选项: #不同步哪些数据库 binlog-ignore-db = mysql binlog-ignore-db = test binlog-ignore-db = information_schema
#只同步哪些数据库,除此之外,其他不同步 binlog-do-db = game
参考文档 1 centos7下使用yum源安装mysql5.7记录:[https://www.jianshu.com/p/531cc35b15e7](https://www.jianshu.com/p/531cc35b15e7)
常用命令 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 ip addr netstat -lnp|grep 8080 lsof -i:8080 ps axu|grep 2643 netstat -ntlp ps -ef|grep nginx kill -9 进程号killall -9 进程名字 rm /home/testrm -r /home/testrm -rf /home/testrm -ir /home/test
解决vim的中文乱码问题 1 2 3 4 5 6 vim /etc/vimrc set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936set termencoding=utf-8set encoding=utf-8
linux服务器之间传递文件 1 2 3 4 5 6 scp -p file.tar.gz zhangsan@172.168.11.12:/home/zhangsan