Rootop 服务器运维与web架构

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
nginx虚拟主机监控nginx-module-vts模块已关闭评论

nginx虚拟主机监控nginx-module-vts模块

可以查看每个虚拟主机的请求情况,发送流量,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

2021-09-27
发表者 Venus
centos7配置vnc远程连接已关闭评论

centos7配置vnc远程连接

# centos7安装桌面

[root@localhost ~]# yum -y groups install "GNOME Desktop"
 

# 安装vnc

[root@localhost ~]# yum install tigervnc-server -y

# 启动服务

[root@localhost ~]# vncserver

会提示输入密码

# 查看

[root@localhost ~]# vncserver -list

TigerVNC server sessions:

X DISPLAY #	PROCESS ID
:1		32227

# 关闭

[root@localhost ~]# vncserver -kill :1

# 修改密码

[root@localhost ~]# vncpasswd 
Password:
Verify:
Would you like to enter a view-only password (y/n)? n
A view-only password is not used

连接端口号从/root/.vnc下的主机名+桌面id的日志(如:MiWiFi-RA69-srv:1.log)中可以看到。多启动一个vncserver,端口号就加1。

[root@MiWiFi-RA69-srv .vnc]# grep Listening *.log
vncext: Listening for VNC connections on all interface(s), port 5901