【今日推荐】:为什么一到面试就懵逼!>>>
- 目录
- 1. 前言
- 2. 配置MYSQL数据库一路通
- 2.1 数据库安装
- 2.2 数据库密码修改
- 方法一:通过初始密码登陆修改
- 方法二:配置文件 MySQL 免密码登录
- 2.3 数据库开启远程连接
- 2.4 数据库关闭远程连接
- 2.5 防火墙限制设置
- 方法一:关闭防火墙
- 方法二:开放数据库端口
- 3. 安装FTP服务器一路通
- 3.1 vsftpd介绍
- 3.2 安装vsftpd
- 3.3 创建FTP用户
- 3.4 设置vsftpd服务开机启动
- 3.5 启动暂停查看服务状态命令
- 3.6 远程安装ftp客户端验证能否连接
- 3.6.1 登录成功
- 3.6.2 登录失败
- 3.7 修改用户默认目录位置
- 3.7.1 找到WWW目录
- 3.7.2 更改用户相应的权限设置
- 4. 总结
基于LNMP集成环境,我们完成一些远程连接的配置,以便我们能够在本地远程操作服务器的数据库和项目文件。
2.配置MYSQL数据库一路通2.1数据库安装
查看MYSQL运行状态命令
[root@localhost ~]# systemctl status mysqld.service
启动MYSQL命令
[root@localhost ~]# systemctl start mysqld.service
关闭MYSQL命令
[root@localhost ~]# systemctl stop mysqld.service
重启MYSQL命令
[root@localhost ~]# service mysql restart
如果没有安装MYSQL,则需要安装(CentOS 7之后的版本yum的默认源中使用MariaDB替代原先MySQL,因此安装方式较为以往有一些改变),上一篇安装教程已经安装好了,这里重复一下。
下载mysql的源
[root@localhost ~]# wget http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
安装yum库
[root@localhost ~]# yum localinstall -y mysql57-community-release-el7-7.noarch.rpm
安装MySQL
[root@localhost ~]# yum install -y mysql-community-server
启动MYSQL
[root@localhost ~]# systemctl start mysqld.service
安装完成后就会覆盖掉之前的mariadb。
2.2 数据库密码修改
centos7安装mysql时会得到一个系统给的初始密码,因此我们无法直接登录mysql,需要先对其进行修改,而修改密码有两种方法,但是方法一可能会失效,建议使用方法二一步到位。
方法一:通过初始密码登陆修改
查找初始化密码
[root@localhost ~]# grep 'temporary password' /var/log/mysqld.log
得到初始密码,然后通过下面命令进入数据库
[root@localhost ~]# mysql -u root -p
输入初始密码,此时不能做任何事情,因为MySQL默认必须修改密码之后才能操作数据库
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
mysql> flush privileges;
mysql> quit
mysql> mysql -u root -p
然后退出重新登陆,注意密码设置有规范要求,这里不具体叙述。
若提示密码不安全,输入以下命令重试即可
mysql> set global validate_password_policy=0; # 关闭密码复杂性策略
mysql> set global validate_password_length=1; #设置密码复杂性要求密码最低长度为1
mysql> select @@validate_password_policy; # 查看密码复杂性策略
mysql> select @@validate_password_length; # 查看密码复杂性要求密码最低长度大小
方法二:配置文件 MySQL 免密码登录
[root@localhost ~]# vim /etc/my.cnf
输入上述命令,然后Shift+A进入可写模式,在[mysqld]下面增添一行:skip-grant-tables,然后按Esc,输入:wq回车保存。
重启MYSQL
[root@localhost ~]# systemctl restart mysql
即可无密登陆MYSQL,输入下面命令:
[root@localhost ~]# mysql
mysql> use mysql;
mysql> update user set password = password ('new-password') where user = 'root';
mysql> flush privileges;
mysql> quit;
然后将配置文件skip-grant-tables删掉,重启MYSQL
[root@localhost ~]# systemctl restart mysql
此时就完成数据库密码修改,但若想远程登录还需开启远程链接授权。
2.3 数据库开启远程连接
进入数据库,输入下面命令:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
然后重启数据库,就可以尝试在外网通过Navicat for MySQL连接服务器数据库。
[root@localhost ~]#service mysqld restart
2.4 数据库关闭远程连接
使用root用户登录到数据库
use mysql
选择mysql数据库
revoke all privileges on *.* from 'root'@'%';
撤回权限
delete from user where User="root" and Host="%";
删除用户
flush privileges;
刷新
2.5 防火墙限制设置
如果章节2.3操作失败,有可能是服务器防火墙限制导致,这边有两种方案
方法一:关闭防火墙
查看防火墙是否开启命令:
[root@localhost ~]#service iptables status
关闭防火墙命令:
[root@localhost ~]#service iptables stop
方法二:开放数据库端口
如果服务器有防火墙需求,那么就不能随意关闭防火墙,那么就只能开启数据库的端口,一般是3306或者3307
查看防火墙状态:
[root@localhost ~]#firewall-cmd --list-all
开放端口命令:
[root@localhost ~]# firewall-cmd --permanent --add-port=3306/tcp
重启防火墙:
[root@localhost ~]#service firewalld restart
查看端口开放情况:
[root@localhost ~]# firewall-cmd --query-port=3306/tcp
最后再次尝试在外网通过Navicat for MySQL连接服务器数据库。
3.安装FTP服务器一路通3.1 vsftpd介绍
vsftpd 是“very secure FTP daemon”的缩写,安全性是它的一个最大的特点;它也是一款在Linux发行版中最受推崇的FTP服务器程序。特点是小巧轻快,安全易用。
3.2安装vsftpd
查看是否安装了vsftpd
[root@VM_0_17_centos thinkphp]# ps -ef |grep vsftpd
没有安装则执行安装命令
[root@VM_0_17_centos ~]# yum install -y vsftpd
修改vsftpd配置文件,输入命令
vi /etc/vsftpd/vsftpd.conf
对比文件修改文件内容符合下述选项
- anonymous_enable=NO #不允许匿名访问
- local_enable=YES #允许使用本地帐户进行FTP用户登录验证
- chroot_local_user=YES #使用户不能离开主目录
- chroot_list_enable=YES
- chroot_list_file=/etc/vsftpd/chroot_list
- ascii_upload_enable=YES #设定支持ASCII模式的上传和下载功能
- ascii_download_enable=YES
- allow_writeable_chroot=YES #配置文件最后添加(该步骤手动添加否则会报错500)
然后按ESC,:wq直接保存并退出
如果没有创建/etc/vsftpd/chroot_list,则需要创建该文件,命令如下:
vi /etc/vsftpd/chroot_list
最后重启重启vsftpd,命令如下:
systemctl restart vsftpd.service
3.3创建FTP用户
创建FTP用户,命令如下:
useradd -d /var/ftp/public_root -g ftp -s /sbin/nologin ftpuser
修改该FTP用户密码,命令如下:
passwd ftpuser
然后通过命令查看FTP用户是否设置不能通过SSH登录,只能使用FTP,命令如下:
vim /etc/passwd
可以看到我服务器如下:
最后别忘了,开启用户在该目录下的全部权限,命令如下:
chown -R ftpuser /sbin/nologin
3.4设置vsftpd服务开机启动
[root@VM_0_17_centos ~]# systemctl enable vsftpd.service
3.5启动暂停查看服务状态命令
#启动
[root@VM_0_17_centos ~]# systemctl start vsftpd.service
#暂停
[root@VM_0_17_centos ~]# systemctl stop vsftpd.service
#查看
[root@VM_0_17_centos ~]# systemctl status vsftpd.service
#重启
[root@VM_0_17_centos ~]# systemctl restart vsftpd.service
3.6远程安装ftp客户端验证能否连接
完成以上全部步骤后,此时可以在本地的FileZilla尝试登录远程FTP服务器
3.6.1 登录成功
3.6.2 登录失败
如果出现登陆失败,显示530 Login incorrect.如下图:
可能是操作系统版本原因,尝试修改如下:
1)密码错误
修改密码试试
[root@VM_0_17_centos /]# passwd ftpuser
2)检查/etc/vsftpd/vsftpd.conf配置
vim /etc/vsftpd/vsftpd.conf
看是否符合下面配置
local_enable=YES
pam_service_name=vsftpd
userlist_enable=YES
3)检查/etc/pam.d/vsftpd配置
vim /etc/pam.d/vsftpd
注释掉
#auth required pam_shells.so
4)必须重启
最后,无论尝试那种,都需要systemctl restart vsftpd.service 重启vsftpd,我是第三种原因。
3.7修改用户默认目录位置
上述步骤只是在安装和配置vsftpd服务器,正常连接后,我们应该讲FTP服务器目录指向我们的WWW目录
3.7.1 找到WWW目录
因为我使用的是腾讯云服务商的集成环境,因此包含了thinkphp文件,所有通过find命令,我可以查找相应的WWW目录,命令如下:
[root@VM_0_17_centos /]# find / -name thinkphp
找到目录截图如下:
3.7.2更改用户相应的权限设置
然后使用命令修改用户默认目录,命令如下:
[root@VM_0_17_centos thinkphp]# usermod -d /yjdata/thinkphp ftpuser
如果用户不能上传文件,记得
[root@VM_0_17_centos thinkphp]#chmod -R 777 /yjdata/thinkphp
4.总结总的来说,本次配置按照步骤一步一步来实现就可以了,虽然我对一些基本配置还是存在一定的疑惑和不足,但期待自己多加练习,早日秃头。