CentOS 开启防火墙及指定端口

查看防火墙状态

firewall-cmd --state

开启防火墙

systemctl start firewalld.service

重启防火墙

systemctl restart firewalld.service

关闭防火墙

systemctl stop firewalld.service

开启指定端口

firewall-cmd --zone=public --add-port=80/tcp --permanent

–zone # 作用域
–add # 添加端口,格式为:端口/通讯协议
–permanent # 永久生效,没有此参数重启后失效

重新加载后生效

firewall-cmd reload

查看已开启端口

firewall-cmd --list-ports

Centos下的Docker环境RabbitMQ以及SqlServer和MySql搭建

以下为快速构建Centos下的生产环境、包括数据库、消息队列

step1:安装Docker

sudo yum install
 #安装所需的软件包
 sudo yum install -y yum-utils device-mapper-persistent-data lvm2
 #添加Docker稳定版本的yum软件源
 sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
 #更新yum软件源缓存,并安装Docker
 sudo yum install
 sudo yum install -y docker-ce
 #确认Docker服务启动正常
 sudo systemctl start docker

step2:拉取RabbitMQ镜像

docker pull rabbitmq:3.8.3-management

step3:启动RabbitMQ

docker run -d --hostname my-rabbit -p 5672:5672 -p 15672:15672  --name some-rabbit rabbitmq:3.8.3-management

启动命令中设置了映射端口,可以直接访问服务器IP的15672端口来查看,用户名和密码默认都是guest,进入页面后会提示修改密码
到此Docker安装rabbitMq已经完成,且已成功启动。

setp4:拉取SQLServer2019镜像

sudo docker pull mcr.microsoft.com/mssql/server:2019-latest

step5:启动SQLServer2019

docker run -e "ACCEPT_EULA=Y" -e "MSSQL_PID=HMWJ3-KY3J2-NMVD7-KG4JR-X2G8G" -e "MSSQL_SA_PASSWORD=Myun@123jx" --name sqlserver -p 1433:1433 -v /var/opt/mssql:/var/opt/mssql  -d mcr.microsoft.com/mssql/server:2019-latest

step6:连接登录SQLServer后,可以选择执行以下SQL打开代理服务

EXEC sp_configure 'show advanced', 1;
 RECONFIGURE;
 EXEC sp_configure 'allow updates', 0;
 RECONFIGURE;
 EXEC sp_configure 'Agent XPs', 1;
 RECONFIGURE;
 GO

step7:拉取MySQL镜像

docker pull mysql:8.0

step8:在本地宿主机上创建MySQL的配置文件my8.cnf

mkdir ~/mysql8
cd ~/mysql8
mkdir log
vim my8.cnf

以下是my8.cnf内容,以低配的1GB服务器为例子,可以用如下的配置

[mysqld]
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
datadir         = /var/lib/mysql
secure-file-priv= NULL
innodb_buffer_pool_size = 16M
performance_schema_max_table_instances=400  
table_definition_cache=400  
table_open_cache=256
performance_schema = off
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
 
# Custom config should go here
# !includedir /etc/mysql/conf.d/

step9:此后可以把MySQL容器启动,然后把宿主机的配置映射到容器内,为了防止被攻击,可以选择宿主机的非常用端口4306

docker run -d --restart=always -p 4306:3306 -v ~/mysql8/log:/var/log/mysql -v ~/mysql8/my8.cnf:/etc/my.cnf -e MYSQL_ROOT_PASSWORD=数据库密码 -e MYSQL_GENERAL_LOG=1 mysql:8.0

step10:此后MySQL容器配置完成,我们可以通过宿主机的4306端口,访问到容器内的MySQL,最后,我们可以把Docker服务设置为开机启动

systemctl enable docker.service

此外,以下为容器自动重启以及Docker固化命令

 docker update --restart=always 容器id

CentOS快速搭建.net6运行环境,部署进程守护

Step1:将yum更新为最新,并且添加添加Node.js源

sudo yum -y update
 
 sudo curl -sL https://rpm.nodesource.com/setup_14.x | sudo bash -

Step2:安装Node.js

yum -y install nodejs

Step3:安装PM2进程守护

npm install pm2 -g

Step4:把Microsoft包签名密钥添加到受信任密钥列表

sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm

Step5:安装.net6运行时

sudo yum install aspnetcore-runtime-6.0

Step6:安装pm2进程守护,监控server服务,并且固化,设置自动重启

pm2 start "dotnet 程序名.dll --urls=http://*:端口号 --environment Production" --name PM2进程名
 pm2 save                       
 pm2 startup systemd

WordPress建站教程:用Cravatar替换Gravatar头像,给网站加速

wordpress默认的Gravatar头像可能会造成国内的wordpress站点前台与后台极其缓慢,严重影响网站体验。其实这个头像对wordpress企业建站来说基本没什么用,我们可以直接禁用Gravatar头像来达到网站加速效果。

如果你想使用Gravatar头像,但又想让它的速度快一点,那么我们可以使用国内的Cravatar头像来替换,这是国内大神提供的一个 免费解决方案,使用方法如下:

把下面的代码添加到当前wordpress建站主题的function.php文件中,保存即可生效。如果你的网站安装了Code Snippets插件,也可以把代码添加到插件中,效果一样。
以下代码在wordpress4.1版本亲测可用

if ( ! function_exists( 'get_cravatar_url' ) ) {
     /**
      * 替换 Gravatar 头像为 Cravatar 头像
 
      */
     function get_cravatar_url( $url ) {
         $sources = array(
             'www.gravatar.com',
             '0.gravatar.com',
             '1.gravatar.com',
             '2.gravatar.com',
             'secure.gravatar.com',
             'cn.gravatar.com',
             'gravatar.com',
         );
 
         return str_replace( $sources, 'cravatar.cn', $url );
     }
 
     add_filter( 'um_user_avatar_url_filter', 'get_cravatar_url', 1 );
     add_filter( 'bp_gravatar_url', 'get_cravatar_url', 1 );
     add_filter( 'get_avatar_url', 'get_cravatar_url', 1 );
 }
 
 if ( ! function_exists( 'set_defaults_for_cravatar' ) ) {
     /**
      * 替换 WordPress 讨论设置中的默认头像
      */
     function set_defaults_for_cravatar( $avatar_defaults ) {
         $avatar_defaults['gravatar_default'] = 'Cravatar 标志';
 
         return $avatar_defaults;
     }
 
     add_filter( 'avatar_defaults', 'set_defaults_for_cravatar', 1 );
 }
 
 if ( ! function_exists( 'set_user_profile_picture_for_cravatar' ) ) {
     /**
      * 替换个人资料卡中的头像上传地址
      */
     function set_user_profile_picture_for_cravatar() {
         return '您可以在 Cravatar 修改您的资料图片';
     }
 
     add_filter( 'user_profile_picture_description', 'set_user_profile_picture_for_cravatar', 1 );
 }

SQL Server 阻止了对组件“Ad Hoc Distributed Queries”的 STATEMENT“OpenRowset/OpenDatasource”的访问

当SQL Server阻止对组件”Ad Hoc Distributed Queries”的访问时,这是由于服务器的安全配置将此组件关闭所致。”Ad Hoc Distributed Queries”用于允许在SQL Server中执行动态查询并访问其他数据库服务器上的数据。
要启用”Ad Hoc Distributed Queries”,需要使用sp_configure系统存储过程进行配置。以下是一些步骤来启用”Ad Hoc Distributed Queries”:

1.使用sa或具有sysadmin角色的登录名连接到SQL Server。
2.打开SQL Server Management Studio (SSMS)并连接到相应的SQL Server实例。
3.执行以下命令以启用”Ad Hoc Distributed Queries”:

sp_configure 'show advanced options', 1;
 GO
 RECONFIGURE;
 GO
 sp_configure 'Ad Hoc Distributed Queries', 1;
 GO
 RECONFIGURE;
 GO

第一条命令允许显示高级选项,第三条命令启用”Ad Hoc Distributed Queries”选项。RECONFIGURE命令用于应用配置更改。
请注意,启用”Ad Hoc Distributed Queries”可能会存在一些安全风险,因此建议在启用之前评估潜在的风险并采取适当的安全措施。此外,确保只有授权人员可以执行此操作,并且在启用后密切监视使用该功能的查询。
有关更多详细信息和指导,请参考SQL Server的官方文档、SQL Server联机丛书或与数据库管理员进行进一步的讨论