基于CentOS7.4的服务器搭建笔记
记录起始于:2019/9/10 @ 浙江嘉兴
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`
- `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源:
- 安装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:
- `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`