Rootop 服务器运维与web架构

2021-10-25
发表者 Venus
linux nfs文件共享配置已关闭评论

linux nfs文件共享配置

# 创建共享目录

[root@MiWiFi-RA69-srv ~]# mkdir /mnt/nfs

# 创建nfs共享

[root@MiWiFi-RA69-srv ~]# cat /etc/exports
/mnt/nfs *(rw,no_all_squash,no_root_squash,insecure,sync,no_wdelay)

# 启动服务

[root@MiWiFi-RA69-srv ~]# systemctl restart rpcbind.service
[root@MiWiFi-RA69-srv ~]# systemctl restart nfs.service

# 查看共享

[root@MiWiFi-RA69-srv ~]# showmount -e localhost
Export list for localhost:
/mnt/nfs *

# 客户端挂载

[root@MiWiFi-RA69-srv cifs]# showmount -e 192.168.31.183
Export list for 192.168.31.183:
/mnt/nfs *
[root@MiWiFi-RA69-srv cifs]# mkdir /mnt/nfs
[root@MiWiFi-RA69-srv cifs]# mount -t nfs 192.168.31.183:/mnt/nfs /mnt/nfs

[root@MiWiFi-RA69-srv cifs]# df -T
Filesystem              Type     1K-blocks      Used Available Use% Mounted on
devtmpfs                devtmpfs   1926528         0   1926528   0% /dev
tmpfs                   tmpfs      1809260        12   1809248   1% /dev/shm
tmpfs                   tmpfs      1809260    190492   1618768  11% /run
tmpfs                   tmpfs      1809260         0   1809260   0% /sys/fs/cgroup
/dev/xvda3              xfs       17814528  11200964   6613564  63% /
/dev/xvda1              xfs        1038336    133500    904836  13% /boot
tmpfs                   tmpfs       361852         0    361852   0% /run/user/0
//192.168.31.244/iso    cifs     209713148 133600280  76112868  64% /mnt/cifs
192.168.31.183:/mnt/nfs nfs4      17814528  15722496   2092032  89% /mnt/nfs

客户端性能问题参考:
https://help.aliyun.com/document_detail/184789.htm
如何修改同时发起的NFS请求数量 部分内容

echo "options sunrpc tcp_slot_table_entries=128" >> /etc/modprobe.d/sunrpc.conf
echo "options sunrpc tcp_max_slot_table_entries=128" >>  /etc/modprobe.d/sunrpc.conf
sysctl -w sunrpc.tcp_slot_table_entries=128

2021-10-25
发表者 Venus
升级openssh到8.8p1版本已关闭评论

升级openssh到8.8p1版本

# 升级之前可以做个快照,防止升级失败连不上服务器。
步骤:

[root@MiWiFi-RA69-srv ~]# yum install pam-devel libselinux-devel zlib-devel openssl-devel -y 

[root@MiWiFi-RA69-srv ~]# wget -c https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.8p1.tar.gz
[root@MiWiFi-RA69-srv ~]# tar zxvf openssh-8.8p1.tar.gz

[root@MiWiFi-RA69-srv openssh-8.8p1]# ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-pam --with-zlib --with-tcp-wrappers --with-ssl-dir=/usr/local/ssl --without-hardening
[root@MiWiFi-RA69-srv openssh-8.8p1]# make
[root@MiWiFi-RA69-srv openssh-8.8p1]# make install
# 提示一个权限问题
Permissions 0640 for '/etc/ssh/ssh_host_ed25519_key' are too open.

[root@MiWiFi-RA69-srv openssh-8.8p1]# cd /etc/ssh/
[root@MiWiFi-RA69-srv ssh]# chmod 600 *_key

[root@MiWiFi-RA69-srv openssh-8.8p1]# cp -a contrib/redhat/sshd.init /etc/init.d/sshd
[root@MiWiFi-RA69-srv openssh-8.8p1]# cp -a contrib/redhat/sshd.pam /etc/pam.d/sshd.pam
[root@MiWiFi-RA69-srv openssh-8.8p1]# chmod u+x /etc/init.d/sshd

[root@MiWiFi-RA69-srv openssh-8.8p1]# cat /etc/ssh/sshd_config | grep -v -E "^#|^$"
PermitRootLogin yes
AuthorizedKeysFile	.ssh/authorized_keys
PasswordAuthentication yes
Subsystem	sftp	/usr/libexec/sftp-server

[root@MiWiFi-RA69-srv openssh-8.8p1]# chkconfig --add sshd
[root@MiWiFi-RA69-srv openssh-8.8p1]# chkconfig sshd on

[root@MiWiFi-RA69-srv openssh-8.8p1]# service sshd restart

[root@MiWiFi-RA69-srv openssh-8.8p1]# ssh -V
OpenSSH_8.8p1, OpenSSL 1.0.2k-fips  26 Jan 2017

2021-09-29
发表者 Venus
./xxx运行脚本和. xxx运行区别已关闭评论

./xxx运行脚本和. xxx运行区别

系统自带的一个脚本如下:

[root@MiWiFi-RA69-srv ~]# cat .bashrc 
# .bashrc

# User specific aliases and functions

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias vi=vim

# Source global definitions
if [ -f /etc/bashrc ]; then
	. /etc/bashrc
fi

看到有这么一句 . /etc/bashrc ,点和文件之间有个空格。
一般来说运行脚本都是 ./xxx 方式,那么和这个 . xxx 的其中一个区别就是不需要加运行权限。

比如:

[root@MiWiFi-RA69-srv ~]# cat a
echo abc
[root@MiWiFi-RA69-srv ~]# ./a
-bash: ./a: Permission denied
[root@MiWiFi-RA69-srv ~]# . a
abc

2021-09-28
发表者 Venus
php的ini配置加载及php.d目录作用已关闭评论

php的ini配置加载及php.d目录作用

这里有2台机器的编译安装参数:

[root@srv1 ~]# php -i | grep "Configure Command"
Configure Command =>  './configure'  '--prefix=/www/server/php/56' '--with-config-file-path=/www/server/php/56/etc' 略```

[root@srv2 ~]# php -i | grep "Configure Command"
Configure Command =>  './configure'  '--prefix=/usr/local/php' '--with-config-file-path=/usr/local/php/etc' '--with-config-file-scan-dir=/usr/local/php/etc/php.d' 略```

在php编译安装时通过

--with-config-file-scan-dir

参数来指定要扫描的目录。
可以通过配置,让 PHP 在读完 php.ini 后,扫描指定路径中的附加 .ini 配置文件。

对于每个目录而言,PHP 会以首字符顺序为优先级,扫描该目录下所有的 .ini 结尾的配置文件。
所有被截入的配置文件,可以通过下面命令查看:

[root@srv2 etc]# php --ini
Configuration File (php.ini) Path: /usr/local/php/etc
Loaded Configuration File:         /usr/local/php/etc/php.ini
Scan for additional .ini files in: /usr/local/php/etc/php.d
Additional .ini files parsed:      /usr/local/php/etc/php.d/03-imagick.ini,
/usr/local/php/etc/php.d/05-memcached.ini,
/usr/local/php/etc/php.d/05-redis.ini

[root@srv2 etc]# ll /usr/local/php/etc/php.d/
total 12
-rw-r--r-- 1 root root 21 Sep 24 11:05 03-imagick.ini
-rw-r--r-- 1 root root 44 Sep 24 11:08 05-memcached.ini
-rw-r--r-- 1 root root 19 Sep 24 11:09 05-redis.ini

参考官文:https://www.php.net/manual/zh/configuration.file.php

2021-09-27
发表者 Venus
已关闭评论

可以查看每个虚拟主机的请求情况,发送流量,upstream分流等情况,且支持prometheus监控。
编译模块略…
# nginx.conf配置文件

http
{
	略```
	
	# 开启监控
	vhost_traffic_status_zone;
	
	# 根据主机名区分
	vhost_traffic_status_filter_by_host on;

	include /usr/local/nginx/conf/vhost/vhost_*.conf;
}

# 修改其中一个虚拟主机,添加访问监控用于展示。

server
{
    listen 80 default_server;
    server_name www.test.com;
	略```
	location /status
	{
		vhost_traffic_status_display;
		vhost_traffic_status_display_format html;
	}
	略```
}

展示页面里的虚拟主机看着是不全,其实是需要访问以后才会产生统计数据,否则是不显示的。
如果某个虚拟主机不想参与统计,则在server{}段中加入 vhost_traffic_status off;
更多指令参考:https://github.com/vozlt/nginx-module-vts