centos7 运维小结

510 阅读4分钟

#1 常用命令

#1 查看版本
uname -a
cat /etc/os-release

#2 设置本地yum源

#1 备份
mkdir /etc/yum.repos.d/repo_backup
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/repo_backup/
/etc/yum.repos.d > cp repo_backup/local.repo local.repo

#2 重新生成源
yum clean all
yum makecache
yum repolist

#3 安装软件

#1 安装redis

#1 安装php7.1
# https://linoxide.com/how-to-install-php-7-on-centos-7/

#2 安装redis
# https://linuxize.com/post/how-to-install-and-configure-redis-on-centos-7/
yum install redis
systemctl start redis
systemctl enable redis
systemctl status redis

#2离线安装php7.1

repo.webtatic.com/yum/el7/x86… 中下载如下相关的rpm包,上传到/var/local/php7.1中,然后在/var/local目录下执行yum localinstall php7.1/*.rpm

## 启动php-fpm
systemctl start php-fpm
## 设置开机启动
systemctl enable php-fpm
[root@iZ9re0175nsz7ylgbxej0xZ local]# ls -al php7.1/
total 7268
drwxr-xr-x  2 root root    4096 Aug  7 14:55 .
drwxr-xr-x. 3 root root    4096 Aug  7 14:26 ..
-rw-r--r--  1 root root   37432 Aug  7 14:26 php71w-bcmath-7.1.33-1.w7.x86_64.rpm
-rw-r--r--  1 root root 3097172 Aug  7 14:26 php71w-cli-7.1.33-1.w7.x86_64.rpm
-rw-r--r--  1 root root 1268556 Aug  7 14:26 php71w-common-7.1.33-1.w7.x86_64.rpm
-rw-r--r--  1 root root 1573736 Aug  7 14:26 php71w-fpm-7.1.33-1.w7.x86_64.rpm
-rw-r--r--  1 root root  137004 Aug  7 14:26 php71w-gd-7.1.33-1.w7.x86_64.rpm
-rw-r--r--  1 root root  556196 Aug  7 14:26 php71w-mbstring-7.1.33-1.w7.x86_64.rpm
-rw-r--r--  1 root root   27124 Aug  7 14:26 php71w-mcrypt-7.1.33-1.w7.x86_64.rpm
-rw-r--r--  1 root root  200884 Aug  7 14:26 php71w-mysqlnd-7.1.33-1.w7.x86_64.rpm
-rw-r--r--  1 root root   52244 Aug  7 14:26 php71w-odbc-7.1.33-1.w7.x86_64.rpm
-rw-r--r--  1 root root  209188 Aug  7 14:26 php71w-opcache-7.1.33-1.w7.x86_64.rpm
-rw-r--r--  1 root root   92324 Aug  7 14:26 php71w-pdo-7.1.33-1.w7.x86_64.rpm
-rw-r--r--  1 root root   21176 Aug  7 14:26 php71w-pdo_dblib-7.1.33-1.w7.x86_64.rpm
-rw-r--r--  1 root root  130940 Aug  7 14:26 php71w-xml-7.1.33-1.w7.x86_64.rpm
[root@iZ9re0175nsz7ylgbxej0xZ local]#

#3 laravel目录权限设置

## 设置user和group为nginx
vim /etc/php-fpm.d/www.conf
## user = nginx 
## group = nginx
chown nginx:nginx -R /var/www/html
sudo chmod -R 777 storage 
sudo chmod -R 777 bootstrap/cache

#4 配置nginx

sudo touch /var/run/php-fpm/php7.1-fpm.sock 
sudo chown nginx:nginx /var/run/php-fpm/php7.1-fpm.sock 
sudo chmod 666 /var/run/php-fpm/php7.1-fpm.sock
systemctl reload nginx

如果一直报错如502则查看log文件

tail -f /var/log/nginx/gqgs-error.log
## 很经常的错误:*1 connect() to unix:/var/run/php-fpm/php7.1-fpm.sock failed 
## (111: Connection refused) while connecting to upstream, client: 172.29.16.138, 
## server: gqgs, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/var/run/php-fpm/php7.1-fpm.sock:", host: "172.29.16.17"
## 查看php-fpm 里面的listen是什么信息
vim /etc/php-fpm.d/www.conf
#因为nginx和php有两种链接方式,一种是
#fastcgi_pass 127.0.0.1:9000;
#另一种是这个\
#fastcgi_pass unix:/run/php/php7.0-fpm.sock;
#根据listen是什么信息配置
vim conf.d/default.conf

#如果是上传错误*1 open() "/var/lib/nginx/tmp/client_body/0000000001" 
#failed (13: Permission denied), client: 172.29.16.138, server: gqgs, request: "POST /b/x/media/upload HTTP/1.1", 
#host: "172.29.16.17", referrer: "http://172.29.16.17/b/x/media/upload?model_type=eyJpdiI6InRtbmVxQzU1blh2a0xMRSt4Zit4eFE9PSIsInZhbHVlIjoiNFhHTEx2WFlUWDY3M2FMTGU4bUdmMStDTEZjMndsZ093VmFScEV2S3pzTVR6UFhDNkZvaWYzRnJTZzhQSG9YRSIsIm1hYyI6IjlkNGEyYTgyNDUzZTA3NzVhMzNjMmU3ZmNiZWE4MjljMjQ5ZjIyMjdmZDdlYzQ0YjEyNTQ5NDBjYjgxOTZjYWEifQ%3D%3D&model_id=128&collection_name=education-pdf&single=1
chown nginx -R /var/lib/nginx/

#5 配置supervisor

错误unix:///var/run/supervisor/supervisor.sock refused connection问题

## 重启supervisord
service supervisord restart
## 查看状态
supervisorctl status all
supervisorctl status laravel-horizon:*

#6 Nodejs离线安装-CentOS7.4

## 下载地址 http://nodejs.cn/download/

## 解压缩
xz -d node-v16.8.0-linux-x64.tar.xz
tar -xvf node-v16.8.0-linux-x64.tar

## 移动到/usr/local
mv node-v16.8.0-linux-x64 /usr/local/nodejs

## 添加环境变量

## 进入 /etc/profile 文件
vim /etc/profile
## 在文件末尾添加
export PATH=$PATH:'/usr/local/nodejs/bin'

## 使环境变量生效
source /etc/profile

## 验证
node -v
npm -v

#7 离线安装laravel-echo-server

## 在外网windows机的某个目录下
git clone https://github.com/tlaverdure/Laravel-Echo-Server
## npm install
cd laravel-echo-server
npm install
## 将整个laravel-echo-server文件夹打包拷贝到centos7的目录下解压
## 在centosxia
npm install -g ./Laravel-Echo-Server/
[root@iZ9re0175nsz7ylgbxej0xZ html]# laravel-echo-server init
? Do you want to run this server in development mode? No
? Which port would you like to serve from? 6001
? Which database would you like to use to store presence channel members? redis
? Enter the host of your Laravel authentication server. http://172.29.16.17
? Will you be serving on http or https? http
? Do you want to generate a client ID/Key for HTTP API? Yes
? Do you want to setup cross domain access to the API? Yes
? Specify the URI that may access the API: http://172.29.16.17
? Enter the HTTP methods that are allowed for CORS: GET, POST
? Enter the HTTP headers that are allowed for CORS: Origin, Content-Type, X-Auth-Token, X-Requested-With, Accept, Authorization, X-CSRF-TOKEN, X-Socket-Id
? What do you want this config to be saved as? laravel-echo-server.json
appId: afffc86fb2a3787b
key: acc228a92435a87a47a8d608a9e20249
Configuration file saved. Run laravel-echo-server start to run server.

#8 非常重要:设置node执行程序链接 以及 supervisor的配置文件

whereis node
## node: /usr/bin/node /usr/local/nodejs/bin/node
## 如果之前建立的软链接不正确就先删除
unlink /usr/bin/node
## 重新建立正确的软链接
ln -s /usr/local/nodejs/bin/node /usr/bin/node
## 重启supervisor
service supervisord restart
## Redirecting to /bin/systemctl restart supervisord.service
[program:laravel-echo]
process_name=%(program_name)s_%(process_num)02d
directory=/var/www/html
command=/usr/local/nodejs/bin/laravel-echo-server start
autostart=true
autorestart=true
user=root
redirect_stderr=true
stdout_logfile=/var/log/supervisor/echo-server.log
[program:laravel-horizon]
process_name=%(program_name)s_%(process_num)02d
command=php /var/www/html/artisan horizon
autostart=true
autorestart=true
user=root
redirect_stderr=true
stdout_logfile=/var/log/supervisor/worker.log