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 协议》,转载必须注明作者和本文链接
讨论数量: 6

alma / rocky 8/9 他不香吗

2年前 评论
AIR (楼主) 2年前

Centos竟然有17.9的版本了?

2年前 评论
AIR (楼主) 2年前

建议用alma或者rocky,一样的;centos没有17.9,应该是7.9

2年前 评论
AIR (楼主) 2年前