首页
关于
留言
接口
搜索
首页
登录
登录
搜索
KAKA 梦很美
累计撰写
47
篇文章
累计收到
0
条评论
首页
栏目
首页
登录
页面
首页
关于
留言
接口
操作系统
2022-9-12
CentOS7.4 干净环境配置及搭建LNMP (PHP7+)
当我们刚买好 CentOS 后,应该如何做到快速搭建 Web 应用环境呢? 在此, 我特地写下这篇实战文章, 希望大家少踩坑!我采用的是新装干净的 CentOS 7.4 操作系统, 安装 LNMP 开发环境. CentOS 7.4 Openresty Nginx 1.15 [ 高性能 Web 平台 ] PHP 7.3 [ 安装 Swoole4 扩展 ] Mysql 5.7 更新系统源 由于我们的系统源太旧、国外等原因,建议先更新源镜像。 第一步 备份源 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 第二步 下载 CentOS-Base.repo 到 /etc/yum.repos.d/ cd /etc/yum.repos.d/ wget http://mirrors.163.com/.help/CentOS7-Base-163.repo 第三步 生成缓存 yum clean all yum makecache 第四步 更新系统 (更新系统时间可能会比较久取决于服务器网速) yum -y update 防火墙配置 源更新好后,我们关闭系统默认的 firewall 防火墙,因为作为 Web 应用服务器 推荐 使用 iptables 第一步 停止/禁用 firewall systemctl stop firewalld.service // 停止 systemctl disable firewalld.service // 禁止开机启动 第二步 设置 iptables service yum -y install iptables-services 第三步 打开 vi /etc/sysconfig/iptables 文件修改防火墙配置,增加防火墙端口 3306 / 80 / 443 -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT 第四步 重启/设置开机启动 systemctl restart iptables.service // 重启防火墙使配置生效 systemctl enable iptables.service // 设置防火墙开机启动 !!! 注意: 必须重启系统使设置生效即可。 安装 OpenResty 做完以上的配置准备后,终于来到了 LNMP 环境搭建。首先我们安装 Nginx,在此我使用的是 OpenResty,因为它整合了我们的加强版 Nginx 的核心,我们的加强版[LuaJIT],许多浓墨重彩 Lua 库,大量的高品质第三方的 Nginx 模块,并且大部分外部依赖的。它旨在帮助开发人员轻松构建可伸缩的 Web 应用程序,Web 服务和动态 Web 网关。 当然,你也可以只安装 [Nginx], 需要到[官方下载包]。这里强烈推荐 [OpenResty]。 废话不多说,我们开始吧。 第一步 在 CentOS 系统中添加 openresty 仓库, 这样就可以便于未来安装或更新软件包(通过 yum update 命令)。 运行下面的命令就可以添加仓库: sudo yum install yum-utils sudo yum-config-manager --add-repo https://openresty.org/package/centos/openresty.repo 第二步 安装依赖库 yum install readline-devel pcre-devel openssl-devel perl 第三步 安装软件包 sudo yum install openresty 安装完成后软件目录默认在 /usr/local/openresty,运行 nginx 命令为 /usr/local/openresty/nginx/sbin/nginx 查看版本 /usr/local/openresty/nginx/sbin/nginx -v 操作方式 # 启动服务 /usr/local/openresty/nginx/sbin/nginx # 停止服务 /usr/local/openresty/nginx/sbin/nginx -s stop # 重启服务 /usr/local/openresty/nginx/sbin/nginx -s reload # 检验nginx配置是否正确 /usr/local/openresty/nginx/sbin/nginx -t 配置环境变量 将 nginx 目录添加到 PATH 中。打开文件 /etc/profile, 在文件末尾加入 export PATH=$PATH:/usr/local/openresty/nginx/sbin,若你的安装目录不一样,则做相应修改。 注意:这一步操作需要重新加载环境变量才会生效,可通过命令 source /etc/profile 或者重启服务器等方式实现。 配置项 (建议网站根目录配置到 openresty 外,比如 root /data/www) # 配置目录 /usr/local/openresty/nginx/conf # 配置文件 /usr/local/openresty/nginx/conf/nginx.conf 检查是否运行成功 ps aux|grep nginx 访问 Web 应用 curl localhost 安装 PHP 安装 PHP 7 前需要安装源,在这里我们安装的版本是 PHP7.3 第一步 下载安装源 yum install epel-release wget http://rpms.remirepo.net/enterprise/remi-release-7.rpm && rpm -Uvh remi-release-7.rpm 第二步 安装PHP yum --enablerepo=remi-safe -y install php73 第三步 安装扩展 (加入了 swoole4 扩展) yum install php73-php-gd php73-php-openssl php73-php-mcrypt php73-php-mcrypt php73-php-json php73-php-mbstring php73-php-xml php73-php-soap php73-php-intl php73-php-xmlrpc php73-php-simplexml php73-php-curl php73-php-mysqlnd php73-php-pecl-redis4 php73-php-pecl-swoole4 yum install zip unzip php7.3-zip 第四步 查看 PHP 版本 php73 -v 由于每次使用 PHP 命令都需要带上 php73,如果当前服务器不需要多个 PHP 版本情况下,可以执行 mv /usr/bin/php73 /usr/bin/php mv /usr/bin/php73-cgi /usr/bin/php-cgi mv /usr/bin/php73-phar /usr/bin/php-phar 这样就可以 使用 php -v 命令了。 接下来我们需要安装 PHP-FPM 工具来管理我们的 PHP yum --enablerepo=remi-safe -y install php73-php-fpm 操作方式 # 系统开机启动 php-fpm 服务 systemctl enable php73-php-fpm # 启动服务 systemctl start php73-php-fpm # 停止服务 systemctl stop php73-php-fpm # 重启服务 systemctl restart php73-php-fpm # 查看服务状态 systemctl status php73-php-fpm.service PHP-FPM 配置 # 配置目录 /etc/opt/remi/php73/ # 配置文件 /etc/opt/remi/php73/php-fpm.d/www.conf 安装 Mysql 同样的,安装 Mysql5.7 前需要下载源 第一步 下载源 wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm 第二步 安装源 yum localinstall mysql57-community-release-el7-8.noarch.rpm 第三步 检查源是否安装成功 yum repolist enabled | grep "mysql.*-community.*" 可以修改 vim /etc/yum.repos.d/mysql-community.repo 源,改变默认安装的 Mysql 版本。 比如要安装 5.6 版本,将 5.7 源的 enabled=1 改成 enabled=0。然后再将 5.6 源的 enabled=0 改成 enabled=1 即可。 第四步 安装命令 (包相对大,大概在 170M 左右,下载速度取决于您服务器的带宽) yum install mysql-community-server 操作方式 # 系统开机自启动 systemctl enable mysqld systemctl daemon-reload # 启动服务 systemctl start mysqld # 停止服务 systemctl stop mysqld # 重启服务 systemctl restart mysqld # 查看服务状态 systemctl status mysqld 修改 root本地登录密码 Mysql 安装完成之后,在 /var/log/mysqld.log 文件中给 root 生成了一个默认密码。通过下面的方式找到 root 默认密码,然后登录Mysql 进行修改: grep 'temporary password' /var/log/mysqld.log 登录 Mysql mysql -uroot -p 设置登录密码 ALTER USER 'root'@'localhost' IDENTIFIED BY 'Au87uejJD!'; # 或者 set password for 'root'@'localhost'=password('Au87uejJD!'); 注意:Mysql5.7 默认安装了密码安全检查插件(validate_password),默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。否则会提示 ERROR 1819 (HY000): Your password does not satisfy the current policy requirements 错误。 通过 Msyql 环境变量可以查看密码策略的相关信息 show variables like '%password%'; validate_password_policy:密码策略,默认为MEDIUM策略 validate_password_dictionary_file:密码策略文件,策略为STRONG才需要 validate_password_length:密码最少长度 validate_password_mixed_case_count:大小写字符长度,至少1个 validate_password_number_count :数字至少1个 validate_password_special_char_count:特殊字符至少1个 上述参数是默认策略 MEDIUM 的密码检查规则。 修改密码策略 在 /etc/my.cnf 文件添加 validate_password_policy 配置,指定密码策略 选择 0(LOW),1(MEDIUM),2(STRONG) 其中一种,选择2需要提供密码字典文件 validate_password_policy=0 如果不需要密码策略,添加 my.cnf 文件中添加如下配置禁用即可: validate_password = off 重新启动 Mysql 服务使配置生效: systemctl restart mysqld 添加远程登录用户 默认只允许 root 帐户在本地登录,如果要在其它机器上连接 mysql,必须修改 root 允许远程连接,或者添加一个允许远程连接的帐户,为了安全起见,我添加一个新的帐户: # 创建账号及生成密码 GRANT ALL PRIVILEGES ON *.* TO 'shugachara'@'%' IDENTIFIED BY 'Abc0331#' WITH GRANT OPTION; # 立即生效 flush privileges; 配置默认编码为 UTF8 修改 /etc/my.cnf 配置文件,在 [mysqld] 下添加编码配置,如下所示: [mysqld] character_set_server=utf8 init_connect='SET NAMES utf8' 重新启动 Mysql 服务,查看数据库默认编码如下所示: show variables like '%character%'; 默认配置文件路径 配置文件:/etc/my.cnf 日志文件:/var/log//var/log/mysqld.log 服务启动脚本:/usr/lib/systemd/system/mysqld.service socket文件:/var/run/mysqld/mysqld.pid 到此, 整个环境已安装完成!感谢您的阅读~ 🙏
2022年-9月-12日
180 阅读
0 评论
操作系统
2022-7-25
CentOS7.4 安装 Redis
下载 在这里博主安装的是 Redis 4,当然你也可以安装 Redis 5,安装方式是一样的。 cd /var/opt wget http://download.redis.io/releases/redis-4.0.13.tar.gz 解压 tar -zxvf redis-4.0.13.tar.gz 安装 cd redis-4.0.13/ make && make install 在安装完成后, 可执行程序已经添加到了 /usr/local/bin 启动服务 现在,我们可以在任何地方直接启动 redis 了。 首先尽量修改 redis 密码 vi /var/opt/redis-4.0.13/redis.conf # 找到 requirepass, 添加密码 redis123: requirepass redis123 ⚠️⚠️⚠️ 坑: 如果外网需要连接服务器 ,需要注意 redis.conf 配置里的 bind 127.0.0.1, 需要修改为服务器本机 IP (不是公网和私网),如果本机 IP 动态,那么可能需要配置为 bind 0.0.0.0。 并且你可能需要打开防火墙配置,增加 redis 端口允许外网访问。默认端口是 6379 启动命令 /usr/local/bin/redis-server /var/opt/redis-4.0.13/redis.conf 关于 php redis 扩展,以下的安装为安装扩展方式,就安装 php73 版本的 redis 扩展而言,执行下面命令就可以了 yum install php73-php-pecl-redis4
2022年-7月-25日
174 阅读
0 评论
操作系统
2022-1-18
Mac brew 安装 Golang
最近分析了一下主流市场的编程语言,发现 Golang 语言还算比较火热(有上升势头),准备开始探索一下。 安装 brew install go 安装过程大同小异,会自动安装 Golang 的最新稳定版本,因为我已经安装好了,没有截图,所以剽窃了一张别人的,好让大家有个参考 出现上面的结果就表示安装成功了,我们在终端输入 go version 查看我们的安装版本,我的显示 go version go1.12.5 darwin/amd64,表示我安装的是 v1.12.5 版本。 从安装提示中可以看出需要设置 GOPATH 和 GOROOT 的环境变量,以及设置 PATH. 温馨提示: Go >1.13 版本之后支持通过设置环境变量 GOPROXY 来修改代理地址, 默认代理服务器 https://proxy.golang.org 在国内访问经常出现 timeout 可以通过设置国内代理来加速下载, 在终端执行即可: go env -w GOPROXY=https://goproxy.cn,direct 配置GOPATH 查看 Golang 的环境变量设置的命令 go env 我们需要配置我们的环境变量,在 ~ 目录下使用 ll -a 命令查看是否有 .bash_profile 文件,如果没有,则创建一个,有就 vi 编辑,下面给大家两种示例(我的源码库没有跟安装目录放在一起): 1) 单源码库环境变量配置 # export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib export GOPATH=/Users/linshan/Web/golang/go export GOBIN=$GOPATH/bin export PATH=$PATH:$GOBIN 2) 单源码库环境变量配置 # export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib export GOPATH=/Users/linshan/Web/golang/go (:自由添加目录,其他不变) export GOBIN=$GOPATH/bin export PATH=$PATH:${GOPATH//://bin:}/bin 使修改立刻生效: source ~/.bash_profile 再执行 go env 就可以看到环境变量配置了。 实例说明 GOPATH:为我们开发常用的目录,建议不要和 Go 的安装目录一致,在该文件夹下又有三个文件夹:src、pkg、bin。 这里src是自己新建的, pkg和bin是后面生成的 src:主要存放我们的源代码 bin:存放编译后生成的可执行文件,可以自己执行 pkg: 编译后生成的文件(.a文件)(非 main 函数的文件在 go install 后生成) GOBIN:是 GOPATH 下的bin目录 PATH:环境变量,需要go-bin目录加入到path路径下,生成可执行文件就可以直接运行了。 基础 Golang 安装到此啦~
2022年-1月-18日
225 阅读
0 评论
操作系统
2021-12-12
CentOS7.4 安装高性能消息中间件 RabbitMQ 服务
之所以写下这篇文章,是因为在用 CentOS 7.4 安装 RabbitMQ 时遇到坑了,特此记录以便查阅。 RabbitMQ 是实现了 高级消息队列协议(AMQP) 的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ 服务器是用 Erlang 语言编写的,而群集和故障转移是构建在开放电信平台框架上的。所有主要的编程语言均有与代理接口通讯的客户端库。 废话不多说,直接奔实践去: RabbitMQ 现在已经更新到了 3.8 版本,但是我们在这安装的是 3.7.9,其实都是一样的。安装前有件事需要告知大家,就是安装 RabbitMQ 之前需要安装 erlang, 而且一个很关键的点就是 RabbitMQ 的安装版本必须匹配 erlang 版本。如下截图是版本对应表,大家可以到 RabbitMQ 官方(地址) [查看版本对应关系]。 官方的提示很明显, RabbitMQ 3.7.9 版本需要安装 >20.3.x <21.3.x 版本的 erlang。 首先查看下 yum 的 erlang 版本 yum info erlang 如果显示的Version不是我们想要的版本,则 vim /etc/yum.repos.d/rabbitmq-erlang.repo [rabbitmq-erlang] name=rabbitmq-erlang baseurl=https://dl.bintray.com/rabbitmq-erlang/rpm/erlang/21/el/7 gpgcheck=1 gpgkey=https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc repo_gpgcheck=0 enabled=1 然后执行 yum clean all yum makecache 再一次查看erlang版本 yum info erlang OK! 遇到的坑来了,就是安装erlang时候。在执行 yum install erlang 时报错。大概意思是说 /usr/lib64/erlang 冲突, 于是我怀疑系统已经有安装好的 erlang, 执行 yum list installed |grep erlang 发现出来一大堆的 erlang 及扩展依赖,还是 22.x 版本的。 所以我们需要一个个卸载 ,执行命令 yum remove 包名 卸载到主依赖时会自动卸载其他依赖,在这里主依赖是yum remove erlang-erts-22.0.1-1.el7.x86_64 各位也可以试试。 我们再次执行 yum install erlang 安装成功!完成解坑!!! 接下来我们安装 RabbitMQ, 个人喜好, 我的 RabbitMQ rpm放在 /var/opt/rabbitmq目录,你们随意。 mkdir /var/opt/rabbitmq cd /var/opt/rabbitmq 下载 RabbitMQ 源 wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.9/rabbitmq-server-3.7.9-1.el6.noarch.rpm 安装命令 yum install rabbitmq-server-3.7.9-1.el6.noarch.rpm 安装完成! 接下来我们需要做的事: 启动 RabbitMQ 服务 rabbitmq-server start 设置后台启动命令 rabbitmq-server -detached 查看 RabbitMQ 服务状态 rabbitmqctl status 关闭 RabbitMQ 服务 rabbitmqctl stop 设置为后台守护进程启动并且随系统启动而启动 sudo chkconfig rabbitmq-server on 查看 RabbitMQ 已安装的插件命令 rabbitmq-plugins list MQ 不单止一个进程哦,多执行 ps aux|grep rabbitmq 看看,特别是kill的时候。 接下来,如果直接访问是访问不到 Web 页面的,需要我们安装一个 web 管理端插件 rabbitmq-plugins enable rabbitmq_management 防火墙开放 RabbitMQ 的 15672 和 5672 端口 我这里使用的是 iptables,步骤如下: vi /etc/sysconfig/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 15672 -j ACCEPT // 增加一行配置 // 重启 systemctl restart iptables.service 先别急着登录 RabbitMQ 管理面板哦。因为 RabbitMQ 一般默认有一个guest 用户和一个 administrator 管理员用户,但是 guest 用户只可以在本机通过 localhost 的方式访问,如果要通过别的机器登陆 Web 访问就得新加一个用户并且授权。 1.查询用户列表 rabbitmqctl list_users 2.新增一个用户 rabbitmqctl add_user 用户名 用户密码 3.赋予其administrator角色 rabbitmqctl set_user_tags 用户名 administrator 4.设置其用户权限 rabbitmqctl set_permissions -p / 用户名 ".*" ".*" ".*" 5.修改用户密码 rabbitmqctl change_password 用户名 用户密码 6.删除一个用户 rabbitmqctl delete_user 用户名 然后访问 http://ip:15672 就可以访问 RabbitMQ Web 管理界面 (这个是登录后的界面) 文章的最后,推荐安装个 RabbitMQ 延迟队列插件 rabbitmq_delayed_meaage_exchange。 如果rabbitmq-plugins list 命令发现插件没安装 cd /var/opt/rabbitmq // 下载插件 wget https://dl.bintray.com/rabbitmq/community-plugins/3.7.x/rabbitmq_delayed_message_exchange/rabbitmq_delayed_message_exchange-20171201-3.7.x.zip // 解压插件 unzip rabbitmq_delayed_message_exchange-20171201-3.7.x.zip // 放置插件文件夹(我这边的是安装在 /usr/lib/rabbitmq/lib/rabbitmq_server-3.7.9/plugins, 这个路径得看各位安装 rabbitmq 位置了) mv rabbitmq_delayed_message_exchange-20171201-3.7.x.ez /usr/lib/rabbitmq/lib/rabbitmq_server-3.7.9/plugins // 启用插件 rabbitmq-plugins enable rabbitmq_delayed_message_exchange 搞定!!! 可以让你的消息队列飞起来啦~
2021年-12月-12日
186 阅读
0 评论
操作系统
2020-4-17
CentOS 优化内存占满或使用过高
经常会遇到 CentOS 用着用着变慢了,free -m 查看内存使用情况,发现内存跑满了或过高。 2.输入 top ,按 shift+m ,按内存占用百分比排序,发现应用也没占80%多内存,那是什么占用的呢? 其实是CentOS为了提高效率,把部分使用过的文件缓存到了内存里。这样的话如果不需要这样的文件性能,可以直接释放来缓解内存压力。 3.优化方案 sync; echo 3 > /proc/sys/vm/drop_caches
2020年-4月-17日
164 阅读
0 评论
操作系统
2019-9-3
解决GitHub慢的若干问题
今天使用 go get github.com/beego/bee 命令时,发现很慢而且还出现超时现象导致 Package 下载不完整,于是感觉应该是访问 github.com 慢的问题。解决方案: 使用IP查找工具找到对应的IP地址 IP查找工具 1)查找 github.com 对应的 IP 2)查找 github.global.ssl.fastly.net 对应的 IP 将IP写入到host 192.30.253.112 github.com 151.101.185.194 github.global.ssl.fastly.net 享受吧 再次执行 go get github.com/beego/bee 已经完美的下载好了,速度很快。
2019年-9月-3日
174 阅读
0 评论
操作系统
2019-3-23
Mac Navicate Premium.app 已经损坏, 无法打开
MAC 安装好应用软件后有时会出现 “Navicate Premium” is demaged and cant't be opened.You should move it to the Trash 。意思是 “Navicate Premium” 这个应用已经损坏了,让我扔到垃圾箱里,难道是我没下载完整?其实不然。 解决方案 首先打开终端,执行 sudo bash 这时会提示你输入你的账户密码, 输入完后就切换到了 root 用户,然后执行 xattr -cr /Applications/Navicat\ Premium.app/ 重新打开应用就可以啦。 /Applications/Navicat\ Premium.app/ 是应用安装后的路径 Mac</code> 应用安装后一般都在 <code>/Applications/ 下有 ***.app 文件,也就是应用的入口文件。 Navicat\ Premium.app 是应用名, 假如是其他应用也是这种情况, 解决方案是应用的,修改应用名即可。
2019年-3月-23日
161 阅读
0 评论
操作系统
2019-1-29
Linux 安装 oh my zsh
oh my zsh 是个美观你系统的 shell 界面工具。系统自带的看着难受,特别是用 git 时候,文件变动都是同一种颜色... 1.安装 zsh 包 yum -y install zsh 2.切换默认 shell 为 zsh chsh -s /bin/zsh 3.重启服务器让修改的配置生效 4.安装 oh my zsh sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" 或 sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)" 5.查看 oh my zsh 主题 ls ~/.oh-my-zsh/themes 查看 oh my zsh 主题效果图 6.修改 oh my zsh 主题 vim ~/.zshrc 可以看到默认的主题是 ZSH_THEME="robbyrussell" 改成自己喜欢的即可。 工具非常好用,还有强大的命令补全哦!
2019年-1月-29日
171 阅读
0 评论
操作系统
2019-1-19
Linux 配置多个 SSH-Key
为了安全性,个人的 GitHub 和公司的 GitLab 需要配置不同的 SSH-Key。 1.切换到系统的 ssh 目录 cd ~/.ssh 2.为个人的 GitHub 生成 SSH-Key(若还没有) ssh-keygen -t rsa -C "your_mail@example.com" -f github_rsa 然后,前往 GitHub 添加 SSH公钥。 3.为公司的 GitLab 生成 SSH-Key(若还没有) ssh-keygen -t rsa -C "your_mail@company.com" -f company_rsa 然后,前往 GitLab 添加 SSH公钥。 4.添加配置文件(若还没有) touch config 5.为配置文件 config 添加如下内容 # github.com Host github.com HostName github.com PreferredAuthentications publickey IdentityFile ~/.ssh/github_rsa # gitlab.company.com Host gitlab.company.com HostName gitlab.company.com PreferredAuthentications publickey IdentityFile ~/.ssh/company_rsa 6.测试 ssh -T git@github.com 输出 : Hi YK-Unit! You've successfully authenticated, but GitHub does not provide shell access. 以上表示成功连接到了个人的 GitHub。 然后可以用同样方式测试公司的 GitLab。
2019年-1月-19日
183 阅读
0 评论
操作系统
2018-6-22
Mac 命令行解压 RAR文件
Mac 中命令行解压 RAR 文件相对比较简单,防止忘记,以此记录。 安装 brew install unrar 解压 unrar x 我是解压文件.rar
2018年-6月-22日
170 阅读
0 评论
操作系统
1
2