Centos7.9 LNMP 环境安装
前置操作
查看安全组配置, 防火墙配置, SELinux 配置
新建用户
adduser air # 添加用户 air
passwd air # 设置密码
# 授权sudo权限
chmod -v u+w /etc/sudoers # 把 sudoers 文件增加写权限
vim /etc/sudoers # 编辑 sudoers 文件
air ALL=(ALL) ALL
chmod -v u-w /etc/sudoers # 收回写权限
安装 Nginx
yum install nginx
vim nginx.conf
# 修改配置文件
server {
listen 80;
server_name localhost;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ .php$ {
root /data/TestApi/public/;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
access_log /var/log/nginx/test-api-access.log;
error_log /var/log/nginx/test-api-error.log;
}
}
vim /etc/nginx/fastcgi_params
# 增加
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
安装 Mysql
待完成
安装 Redis
yum install epel-release
yum install redis
# 修改 redis 配置
vim /etc/redis.conf
# bind 127.0.0.1 ::1 # 添加注释 允许远程访问
daemonize yes # 由 no 改为 yes 允许后台运行
requirepass 密码 # 打开注释 添加访问密码
安装 PHP7.4
sudo yum install epel-release
sudo rpm -Uvh https://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum install yum-utils
sudo yum-config-manager --enable remi-php74
sudo yum install php php-cli php-common php-fpm
php -v # 查看版本
安装 Composer
php -r "readfile('https://getcomposer.org/installer');" | php
mv composer.phar /usr/bin/composer
composer -v
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
安装 PHP 扩展
yum install php-bcmath php-mysqli php-pdo php-redis php-dom php-mbstring php-xml php-zip
优化 PHP-FPM
vim /etc/php.ini
# 修改
cgi.fix_pathinfo=0
vim /etc/php-fpm.conf
# 修改
emergency_restart_threshold = 10
emergency_restart_interval = 1m
process_control_timeout = 10s
vim /etc/php-fpm.d/www.conf
# 修改
pm = static
pm.max_children = 100
pm.start_servers = 20
pm.min_spare_servers = 10
pm.max_spare_servers = 30
pm.max_requests = 500
slowlog = /var/log/php-fpm-slow.log
request_slowlog_timeout = 5s
启动服务 设置开机启动
# 查看服务状态
systemctl status nginx
# 启动服务
systemctl start nginx
# 重启服务
systemctl restart nginx
# 停止服务
systemctl stop nginx
# 开机启动
systemctl enable nginx
# 查看开机启动状态
systemctl is-enabled nginx
# nginx, php-fpm, mysql, redis/redis-server
安装 Laravel 队列 进程监控器 Supervisor
sudo yum install python-setuptools
sudo easy_install supervisor
sudo echo_supervisord_conf > /etc/supervisord.conf
sudo mkdir /etc/supervisord.d
vim /etc/supervisord.conf
# 修改
loglevel=warn
[include] # 去掉注释
files = supervisord.d/*.ini # 去掉注释
vim /etc/supervisord.d/test.ini
# 新建
[program:laravel-test]
process_name=%(program_name)s_%(process_num)02d
command=php /data/test/artisan queue:work redis --sleep=60 --tries=2 --max-time=3600
autostart=true
autorestart=true
user=root
numprocs=8
redirect_stderr=true
stdout_logfile=/var/log/supervisor/laravel-test-access.log
stderr_logfile=/var/log/supervisor/laravel-test-error.log
# 启动 supervisor
sudo supervisord -c /etc/supervisord.conf
sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl start laravel-test:* # 或 sudo supervisorctl start all
配置服务器定时任务 执行任务队列
# crontab -e -u apache (设置用户为 apache, 否则以 root 用户执行会出现日志权限问题)
* * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1
本作品采用《CC 协议》,转载必须注明作者和本文链接
alma / rocky 8/9 他不香吗
Centos竟然有17.9的版本了?
建议用alma或者rocky,一样的;centos没有17.9,应该是7.9