~~NOTOC~~ ====== 基于CentOS7.4的服务器搭建笔记 ====== 记录起始于:2019/9/10 @ 浙江嘉兴 {{category>IS}} ===== 安装问题点 ===== ==== CentOS7 修改IP ==== - `ifconfig` 查看网络相关配置 - `cd /etc/sysconfig/network-scripts/` 进入IP地址配置文件夹 - `vi ifcfg-xxxx` 编辑centos的网卡配置文件 - 将BOOTPROTO改为static(获取IP的方式静态) - 设置以下参数: - `IPADDR=192.168.1.177` - `NETMASK=255.255.255.0` - `GATEWAY=192.168.1.1` - `DNS1=x.x.x.x` - `DNS2=8.8.8.8` - `ONBOOT=yes` 系统启动时启动此设置 - 保存退出:`:wq` - `service network restart` 重启网卡 - `ifconfig` 测试新设置的ip是否生效 ==== GUI切换Terminal ==== - `Ctrl+Alt+F1~F6` 从图形登陆界面切换到dos界面 - 切换到命令行界面:`init 3` - 切换到图形界面:`init 5` ==== centos下修改文件后如何保存退出 ==== - 按`ESC`键进入命令模式,然后: - `:w` 保存文件但不退出vi - `:w file` 将修改另存为file,不退出vi - `:w!` 强制保存,不退出vi - `:wq` 保存文件并退出vi - `:wq!` 强制保存文件并退出vi - `:q` 不保存文件,退出vi - `:q!` 不保存文件,强制退出vi - `:e!` 放弃所有修改,从上次保存文件开始再编辑 ==== PHP extension冲突问题(如:php70w 与 php-common < 7.0的冲突) ==== - 一般情况下发生在PHP升级时,php核心和扩展多版本共存,版本发生冲突情况下的警告,可能导致php环境运行异常 - PHP7极大地改进了性能,在一些WordPress基准测试中,性能可达PHP 5.6的3倍。 - 使用Yum安装PHP有两个源可选: - webtatic提供的php70w - remi源 - 安装步骤: - `yum install epel-release` - `rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm` - `yum update` - `yum list | grep php` 罗列yum源可安装包 - 另一种做法,移除php-common: - `yum remove php-common` - 再次执行:`yum -y install php70w-devel` - 使用yum install命令安装: - 安装前先卸载其他版本的PHP:`yum -y remove php*` - 修改yum源: - `rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm` - `rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm` - 安装PHP及其扩展(以php7.2为例): - `yum -y install php72w php72w-cli php72w-common php72w-devel php72w-embedded php72w-fpm php72w-gd php72w-mbstring php72w-mysqlnd php72w-opcache php72w-pdo php72w-xml` - 安装完成后,使用`php -v`查看安装的PHP版本,确认版本号正确。 ==== 修改php.ini 解决mbstring扩展异常 ==== - 安装mbstring扩展: - `yum install php-mbstring` 或 `yum --enablerepo=remi install php-mbstring` - 修改php.ini: - `vim /etc/php.ini` - 找到并修改以下配置: - `mbstring.language = Chinese` - `mbstring.internal_encoding = UTF-8` - `mbstring.http_input = auto` - `mbstring.http_output = UTF-8` - `mbstring.encoding_translation = On` ==== CentOS下php版本查询及手工修改路径案例 ==== - 常用命令: - `php -v` - `httpd -v` - `rpm -qa |grep php` - `rpm -qa |grep httpd` - `php -m` 查看加载情况 - 案例:查找系统里PHP相关的目录或文件并手工修改profile - `find / -name php` 查看列出的 PHP 版本信息 - `/usr/bin/php -v` 查看PHP 5.4.45 - `/usr/local/php/bin/php -v` 查看PHP 7.2.18 - 删除 `/usr/bin/` 目录下的所有PHP相关文件: - `rm -rf ./php` - `rm -rf ./php-cgi` - `rm -rf ./php-config` - `rm -rf ./phpize` - 在环境变量中添加自己编译的 PHP 路径: - `vim /etc/profile` - 在最后一行添加:`export PATH="/usr/local/php/bin:$PATH"` - 保存退出,执行:`source /etc/profile` - 再次检查 PHP 版本:`php -v` - 通过yum安装PHP7: - `rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm` - `yum -y install php70w-devel` - 如果报错冲突: - 移除php-common:`yum remove php-common` - 再次执行:`yum -y install php70w-devel` ==== find: ‘/run/user/1000/gvfs’: 权限不够 的解决办法 ==== - 这是一个FUSE文件系统和权限不配的问题,解决方法: - 卸载该文件:`umount /run/user/1000/gvfs` - 删除该文件:`rm -rf /run/user/1000/gvfs` ==== php版本升级或者更改后发生httpd服务异常的问题处理 ==== - apache不知道php版本已更改,因此php网页用不了apache(httpd)。 - 例如,在`/var/www/html/`目录下建立`info.php`文件: - `sudo vim /etc/www/html/info.php` - 内容:`` - 在浏览器输入`IP/info.php`,发现找不到该页面,因为apache不知道php版本已更改。 - 修改apache的配置文件: - 找到php的配置文件:`sudo find / -name php.ini` - 找到apache的配置文件:`sudo find / -name httpd.conf` - 修改`httpd.conf`,在最后一行添加:`PHPIniDir /etc/php.ini` - 保存并重启apache:`systemctl restart httpd` - 再次访问`IP/info.php`,页面内容正常即表示成功。 ==== 修改Apache默认端口80 ==== - 修改`/etc/httpd/conf/httpd.conf`: - 找到`Listen 80`,修改为`Listen 5555` - 保存并重启apache:`service httpd restart` ==== CentOS防火墙设置 ==== - 常用命令: - `yum install firewalld` 查看已安装的firewall文件 - `service firewalld start` 启动防火墙 - `service firewalld stop/disable` 停止/禁用防火墙 - `ps -ef |grep firewall` 查看当前firewall运行的进程 - `service firewalld restart` 重启防火墙 - `service firewalld status` 查看防火墙状态 - `firewall-cmd --version` 查看版本 - `firewall-cmd --get-zones` 查看防火墙区域 - `firewall-cmd --get-default-zone` 查看默认区域 - `firewall-cmd --list-all-zones` 查看所有区域的配置信息 - `firewall-cmd --list-all` 查看防火墙规则 - 查询、开放、关闭端口: - `firewall-cmd --query-port=8080/tcp` 查询端口是否开放 - `firewall-cmd --permanent --add-port=80/tcp` 开放80端口 - `firewall-cmd --permanent --remove-port=8080/tcp` 移除端口 - `firewall-cmd --reload` 重启防火墙 ==== U盘挂载mount命令 ==== - 挂载: - `mount /dev/hda2 /home` - 卸载: - `umount /dev/hda2` - `umount /usr` - 详细介绍: - `mount [-参数] [设备名称] [挂载点]` - 常用参数: - `-a` 安装在`/etc/fstab`文件中列出的所有文件系统 - `-f` 伪装mount,检查设备和目录但不真正挂载 - `-n` 不把安装记录在`/etc/mtab`文件中 - `-r` 将文件系统安装为只读 - `-v` 详细显示安装信息 - `-w` 将文件系统安装为可写 - `-t` 指定文件系统类型(如ext2、vfat、ntfs等) - `-o` 指定挂载选项(如defaults、ro、rw等) ==== ntfs格式识别 ==== - 安装ntfs支持: - `yum makecache` - `yum install ntfs-3g` - 查看盘符: - `fdisk -l` - 挂载: - `mount -t ntfs-3g /dev/sdb1 /mnt/usb` ==== 文件查看及复制操作 ==== - 查看当前文件夹下各文件大小: - `ll -lh` - 查看某文件夹占用总空间大小: - `du -h --max-depth=1 /usr/local/` - 查看磁盘空间使用情况: - `df -h` - 杀掉占用文件的进程: - `fuser -u /var/spool/clientmqueue` ==== 挂载nas/共享盘 ==== - 创建挂载目录: - `mkdir /mnt/nas` - 挂载: - `mount -o username=xxxxx,password=xxxxxxxx,iocharset=utf8 //192.168.x.xx/xxx /mnt/nas` - 卸载: - `umount -l /mnt/nas` - 开机自动挂载: - 编辑`/etc/rc.d/rc.local`,添加挂载命令 ==== CentOS修改SSH端口号 ==== - 查看ssh默认端口: - `netstat -anp|grep ssh` - 修改`/etc/ssh/sshd_config`: - 添加新端口:`Port 10022` - 向防火墙添加端口: - `firewall-cmd --zone=public --add-port=10022/tcp --permanent` - `firewall-cmd --reload` - 向SELinux添加端口: - `semanage port -a -t ssh_port_t -p tcp 10022` - 重启ssh服务: - `systemctl restart sshd.service` ==== CentOS的安全预防 ==== - 避免弱口令 - 修改ssh默认端口 - 禁止root远程登录 ==== yum clean all大坑解决 ==== - 删除`/var/cache/yum/`下的文件 - 检查`/etc/yum.repos.d/*.repo`文件 - 执行`yum makecache`和`yum update` ===== 异常问题点 ===== ==== phpMyAdmin安装后无法访问 ==== - 修改`/etc/httpd/conf.d/phpMyAdmin.conf`: - 注释掉`Require ip 127.0.0.1`和`Require ip ::1` - 添加`Require all granted` - 重启httpd: - `systemctl restart httpd` ==== Centos7.6 +Gnome 桌面卡但鼠标能动的解决办法 ==== - 切换到命令行模式:`Ctrl+Shift+F2` - 杀掉gnome-shell进程:`killall -9 gnome-shell` - 切换回图形界面:`Ctrl+Shift+F1` ==== 双系统启动进入GNU界面的处理 ==== - 使用`ls`查看分区: - `grub> ls` - 设置根目录: - `grub> set root = (hd1,6)` - 指定kernel和initrd: - `grub> linux (hd1,7)/vmlinuz-4.8.0-36-generic root=/dev/sdb6` - `grub> initrd (hd1,7)/initrd.img-4.8.0-36-generic` - 启动: - `grub> boot` - 更新grub: - `sudo update-grub` - `sudo grub-install /dev/sda`