记误删服务器文件后系统重装
最近在自己的云服务器上配置分布式服务,不小心误删除了文件,删除文件不要紧,关键是删除的是/usr/local目录,我的数据库、nginx服务、tomcat服务、dubbo, redis,zookeeper全都在上面;这么一来以前部署的应用如极客之家,微营销,忆邮手机官网都挂掉了。
应用程序挂掉不要紧,重要的是数据库没了并且最近一年的数据没有备份;郁闷之极也只能慢慢恢复。 因不擅长运维,恢复的过程也异常的曲折。
删除文件首先想到的当然是恢复误删文件,于是网上找了半天资料,装了各种软件尝试恢复,效果是有,文件恢复了部份,但大都不是我想要的。
事已至此于是决定将整个云系统和软件重装一遍,进入阿里云控制台,重新初始化系统,记得初始化系统时,运行中的服务器一定要先停掉,要不你是找不到系统初始化入口的。
接着首先安装mysql数据库,安装方法有很多,我采用的是二进制文件离线安装,这里将安装方式记录一下:
一、mysql数据库安装
1. 卸载系统自带的MariaDB数据库(centos系统自带与mysql分支兄弟关系,具体baidu)
[root@CentOS ~]# rpm -qa | grep mariadb mariadb-libs-5.5.60-1.el7.x86_64 [root@CentOS ~]# rpm -e --nodeps mariadb-libs-5.5.60-1.el7.x86_64
2.创建mysql用户组和mysql用户
[root@CentOS local]# useradd mysql
3.解压安装包,并将解压好的文件夹重命名为mysql
[root@CentOS my_soft]#tar -zxvf mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz [root@CentOS my_soft]#mv mysql-5.7.21-linux-glibc2.12-x86_64 /usr/local/mysql
4.将mysql添加为系统服务
[root@CentOS local]# cp mysql/support-files/mysql.server /etc/init.d/mysql [root@CentOS local]# chkconfig --add mysql
5.初始化数据库
[root@CentOS mysql]# mkdir data [root@CentOSmysql]#./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql--datadir=/usr/local/mysql/data 如果出现下述错误 : 在安装mysql时遇到以下错误 执行./mysqld --initialize 后 ./bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory 原因是没有安装libaio.so.1,安装即可。 Ubuntu下执行: apt-get install libaio1 libaio-dev Redhat/Fedora/CentOS下执行: yum install libaio
6.启动mysql服务,使用临时密码登录mysql
[root@CentOS mysql]# systemctl start mysql [root@CentOS mysql]# ./bin/mysql -uroot -p Enter password: # 这里输入刚获取的临时密码
7.修改登录密码
mysql> set password = password('你的密码');) Query OK, 0 rows affected, 1 warning (0.00 sec)
8.将mysql服务设置为开机启动
[root@CentOS mysql]# chkconfig mysql on
9.设置任何远程主机都可以访问数据库
mysql> grant all privileges on *.* to 'live' @'%' identified by '123456'; # 设置任何远程主机都可以访问 mysql> flush privileges; # 刷新权限
二、安装Nginx服务这里采用的是源码安装
1. gcc 安装
安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装:
yum install gcc-c++
2. PCRE pcre-devel 安装
PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。nginx也需要此库。命令:
yum install -y pcre pcre-devel
3. zlib 安装
zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库。
yum install -y zlib zlib-devel
4. OpenSSL 安装
OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。
nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库。
yum install -y openssl openssl-devel
5.官网下载
直接下载.tar.gz安装包,地址:https://nginx.org/en/download.html
使用wget命令下载(推荐)。
wget -c https://nginx.org/download/nginx-1.10.1.tar.gz
我下载的是1.10.1版本,这个是目前的稳定版。
6. 解压
tar -zxvf nginx-1.10.1.tar.gzcd nginx-1.10.1
7.配置
其实在 nginx-1.10.1 版本中你就不需要去配置相关东西,默认就可以了。当然,如果你要自己配置目录也是可以的。
1.使用默认配置
./configure
8. 编译安装
make install 查找安装路径: whereis nginx
9.启动、停止nginx
cd /usr/local/nginx/sbin/ ./nginx ./nginx -s stop ./nginx -s quit ./nginx -s reload ./nginx -s quit:此方式停止步骤是待nginx进程处理任务完毕进行停止。 ./nginx -s stop:此方式相当于先查出nginx进程id再使用kill命令强制杀掉进程。 查询nginx进程: ps aux|grep nginx
10.开机自启动
即在rc.local增加启动代码就可以了。 vi /etc/rc.local 增加一行 /usr/local/nginx/sbin/nginx 设置执行权限: chmod 755 /etc/rc.local
三、安装php和php-fpm和mysql模块
1.安装php和php-fpm模块
yum install php php-fpm
2.启动php-fpm
systemctl start php-fpm
3. 将PHP与mysql模块关联起来:
yum install php-gd php-mysql php-mbstring php-xml php-mcrypt php-imap php-odbc php-pear php -xmlrpc 最开始执行上述代码mysql模块没有成功, 又执行如下代码: yum install mariadh mariadb-server 结果以前装的mysql失效;卸载后mysql恢复正常,mysql模块也OK,卸载方式如下: [root@node1 ~]# rpm -qa|grep mariadb mariadb-5.5.56-2.el7.x86_64 mariadb-libs-5.5.56-2.el7.x86_64 mariadb-server-5.5.56-2.el7.x86_64 [root@node1 ~]# [root@node1 ~]# yum remove mariadb 删除遗留目录 [root@node1 ~]# ls /etc/my.cnf /etc/my.cnf [root@node1 ~]# ll /var/lib/mysql/ total 28700 -rw-rw---- 1 mysql mysql 16384 May 5 10:31 aria_log.00000001 -rw-rw---- 1 mysql mysql 52 May 5 10:31 aria_log_control -rw-rw---- 1 mysql mysql 18874368 May 5 10:31 ibdata1 -rw-rw---- 1 mysql mysql 5242880 May 5 10:31 ib_logfile0 -rw-rw---- 1 mysql mysql 5242880 Oct 6 2017 ib_logfile1 drwx------ 2 mysql mysql 4096 Oct 6 2017 mysql drwx------ 2 mysql mysql 4096 Oct 6 2017 performance_schema [root@node1 ~]# [root@node1 ~]# rm -rf /etc/my.cnf [root@node1 ~]# rm -rf /var/lib/mysql/
4:配置nginx与php一起工作
打开nginx主配置文件。使用nginx安装目录下conf/nginx.conf配置
vim usr/local/nginx/conf/nginx.conf 在http模块中添加配置: location / { index index.html index.htm index.php; } location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
5:测试nginx与php是否正常。
# vi /usr/local/nginx/html/info.php 文件内容如下: <?php phpinfo(); ?>
转载请注明来源:记误删服务器文件后系统重装