is:cos:centos安装及异常问题点拔萃

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
is:cos:centos安装及异常问题点拔萃 [2025/02/17 04:01] – 移除 - 外部编辑 (未知日期) 127.0.0.1is:cos:centos安装及异常问题点拔萃 [2025/02/17 04:01] (当前版本) – ↷ 页面is:centos安装及异常问题点拔萃被移动至is:cos:centos安装及异常问题点拔萃 A.L
行 1: 行 1:
 +~~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`
 +    - 内容:`<?php phpinfo();?>`
 +  - 在浏览器输入`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`