腾讯云CVM手动搭建LNMP环境全指南
1. 腾讯云CVM手动搭建LNMP环境全指南在云服务器上搭建LNMPLinuxNginxMySQLPHP环境是Web开发者的基础技能。作为腾讯云渠道商的技术支持人员我经常需要为客户部署这套环境。相比使用现成的镜像手动搭建能让你更清楚每个组件的配置细节也便于后续的定制化调整。LNMP环境在腾讯云CVM上的部署有几个关键优势首先是性能可控你可以根据业务需求灵活调整每个组件的参数其次是安全性更高手动安装可以避免预装镜像中可能存在的冗余服务最后是兼容性好能够完美适配腾讯云的对象存储COS、CDN等周边服务。下面我就以CentOS 7.6为例详细演示整个搭建过程。2. 环境准备与基础配置2.1 腾讯云CVM实例选购建议在腾讯云控制台购买CVM时建议选择CentOS 7.6或Ubuntu 18.04这些主流Linux发行版。对于个人博客或小型网站1核2G配置就足够运行LNMP环境如果是企业级应用建议至少选择2核4G配置。存储方面系统盘选择50GB SSD即可数据盘可根据实际需求添加。购买完成后通过SSH连接到实例。首次登录建议先执行以下基础操作# 更新系统软件包 sudo yum update -y # 安装常用工具 sudo yum install -y wget vim net-tools # 关闭SELinux生产环境需谨慎 sudo setenforce 0 sudo sed -i s/SELINUXenforcing/SELINUXdisabled/ /etc/selinux/config # 设置时区 sudo timedatectl set-timezone Asia/Shanghai2.2 防火墙配置腾讯云CVM默认有安全组防护但系统防火墙也需要适当配置。Nginx需要开放80和443端口MySQL默认使用3306端口生产环境建议修改# 防火墙放行常用端口 sudo firewall-cmd --permanent --add-port80/tcp sudo firewall-cmd --permanent --add-port443/tcp sudo firewall-cmd --reload3. Nginx安装与配置3.1 编译安装Nginx最新版虽然yum源中有Nginx但版本往往较旧。我推荐手动编译安装最新稳定版# 安装依赖 sudo yum install -y gcc pcre-devel zlib-devel openssl-devel # 下载源码包 wget http://nginx.org/download/nginx-1.25.3.tar.gz tar zxvf nginx-1.25.3.tar.gz cd nginx-1.25.3 # 编译安装 ./configure --prefix/usr/local/nginx \ --with-http_ssl_module \ --with-http_v2_module \ --with-http_realip_module \ --with-http_stub_status_module make sudo make install编译参数说明--with-http_ssl_module启用HTTPS支持--with-http_v2_module支持HTTP/2协议--with-http_realip_module获取客户端真实IP--with-http_stub_status_module启用状态监控3.2 Nginx服务管理创建systemd服务文件便于管理sudo vim /etc/systemd/system/nginx.service写入以下内容[Unit] Descriptionnginx service Afternetwork.target [Service] Typeforking ExecStart/usr/local/nginx/sbin/nginx ExecReload/usr/local/nginx/sbin/nginx -s reload ExecStop/usr/local/nginx/sbin/nginx -s quit PrivateTmptrue [Install] WantedBymulti-user.target然后启用服务sudo systemctl daemon-reload sudo systemctl start nginx sudo systemctl enable nginx3.3 基础配置优化编辑主配置文件sudo vim /usr/local/nginx/conf/nginx.conf几个关键优化点worker_processes设置为CPU核心数调整keepalive_timeout为65秒开启gzip压缩配置日志轮转4. MySQL安装与安全加固4.1 安装MySQL 8.0推荐使用MySQL官方Yum源安装最新版# 添加MySQL Yum源 sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm # 安装MySQL服务器 sudo yum install -y mysql-community-server # 启动服务 sudo systemctl start mysqld sudo systemctl enable mysqld4.2 初始安全配置MySQL首次安装后会生成临时密码需要立即修改# 获取临时密码 sudo grep temporary password /var/log/mysqld.log # 运行安全脚本 sudo mysql_secure_installation安全配置建议设置强密码策略移除匿名用户禁止root远程登录移除测试数据库4.3 性能调优编辑MySQL配置文件sudo vim /etc/my.cnf基础优化参数2GB内存服务器示例[mysqld] innodb_buffer_pool_size 1G innodb_log_file_size 256M max_connections 200 query_cache_size 64M5. PHP安装与Nginx整合5.1 安装PHP 8.2使用Remi源安装最新PHP版本# 安装Remi源 sudo yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm # 启用PHP 8.2 sudo yum-config-manager --enable remi-php82 # 安装PHP及常用扩展 sudo yum install -y php php-fpm php-mysqlnd php-opcache php-gd php-mbstring php-curl5.2 配置PHP-FPM编辑PHP-FPM配置文件sudo vim /etc/php-fpm.d/www.conf关键修改项user nginx group nginx listen /var/run/php-fpm/php-fpm.sock listen.owner nginx listen.group nginx pm dynamic pm.max_children 50 pm.start_servers 5 pm.min_spare_servers 5 pm.max_spare_servers 35启动PHP-FPM服务sudo systemctl start php-fpm sudo systemctl enable php-fpm5.3 Nginx与PHP整合在Nginx配置中添加PHP支持location ~ \.php$ { fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }6. 环境验证与常见问题排查6.1 基础功能测试创建测试PHP文件echo ?php phpinfo(); ? /usr/local/nginx/html/info.php访问http://服务器IP/info.php应该显示PHP信息页面。检查以下几点PHP版本是否正确MySQL扩展是否加载必要的PHP功能是否启用6.2 常见问题解决方案问题1502 Bad Gateway错误检查PHP-FPM是否运行systemctl status php-fpm确认Nginx配置中的fastcgi_pass路径正确检查/var/run/php-fpm目录权限问题2MySQL连接失败确认MySQL服务运行状态检查用户权限SELECT host,user FROM mysql.user;确认防火墙放行了3306端口问题3Nginx静态文件403错误检查文件权限chown -R nginx:nginx /usr/local/nginx/html确认SELinux状态getenforce6.3 性能优化建议Nginx启用OPcacheopcache.enable1 opcache.memory_consumption128 opcache.interned_strings_buffer8 opcache.max_accelerated_files4000 opcache.revalidate_freq60MySQL查询优化添加合适的索引定期优化表OPTIMIZE TABLE table_name启用慢查询日志Nginx静态资源缓存location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ { expires 30d; add_header Cache-Control public, no-transform; }7. 腾讯云特色功能集成7.1 对象存储COS集成安装腾讯云COSFS工具挂载存储桶# 安装依赖 sudo yum install -y automake gcc-c git libcurl-devel libxml2-devel openssl-devel # 编译安装 git clone https://github.com/tencentyun/cosfs.git cd cosfs ./autogen.sh ./configure make sudo make install挂载COS存储桶echo BucketName-APPID:SecretId:SecretKey /etc/passwd-cosfs chmod 640 /etc/passwd-cosfs cosfs BucketName-APPID MountPoint -ourlhttps://cos.Region.myqcloud.com7.2 CDN加速配置在Nginx中设置CDN回源set_real_ip_from 0.0.0.0/0; real_ip_header X-Forwarded-For;7.3 监控与告警利用腾讯云云监控配置LNMP监控安装云监控Agent配置Nginx、MySQL、PHP-FPM监控项设置性能阈值告警8. 安全加固措施8.1 Nginx安全配置隐藏版本信息server_tokens off;防止常见攻击# 禁止非法HTTP方法 if ($request_method !~ ^(GET|HEAD|POST)$ ) { return 444; } # 防止图片盗链 location ~* \.(jpg|jpeg|png|gif|ico)$ { valid_referers none blocked server_names; if ($invalid_referer) { return 403; } }8.2 MySQL安全建议定期备份数据库为每个应用创建独立用户启用查询日志审计8.3 PHP安全设置修改php.ini关键参数expose_php Off display_errors Off log_errors On allow_url_fopen Off disable_functions exec,system,passthru,shell_exec9. 维护与自动化9.1 日志管理配置日志轮转sudo vim /etc/logrotate.d/nginx内容示例/usr/local/nginx/logs/*.log { daily missingok rotate 30 compress delaycompress notifempty create 640 nginx nginx sharedscripts postrotate /bin/kill -USR1 cat /usr/local/nginx/logs/nginx.pid 2/dev/null 2/dev/null || true endscript }9.2 备份策略数据库自动备份# 每日全量备份 mysqldump -u root -p --all-databases | gzip /backup/mysql/all_$(date %Y%m%d).sql.gz # 保留最近7天 find /backup/mysql/ -type f -mtime 7 -delete网站文件备份tar czf /backup/web/www_$(date %Y%m%d).tar.gz /usr/local/nginx/html9.3 自动化部署使用Shell脚本自动化安装过程#!/bin/bash # LNMP自动安装脚本 # 检查系统版本 # 安装依赖 # 编译安装Nginx # 配置MySQL # 安装PHP # 整合配置在实际运维中我建议将这套LNMP环境制作成自定义镜像方便后续快速部署。腾讯云CVM支持将配置好的系统制作为镜像在控制台的镜像页面即可操作。对于需要频繁部署相同环境的场景可以考虑使用Terraform等IaC工具实现自动化。

相关新闻

OpenClaw:结构化Prompt工程与AI应用开发革新

OpenClaw:结构化Prompt工程与AI应用开发革新

1. OpenClaw项目概述:从爆火到技术革新 OpenClaw这个开源项目在AI开发者圈子里已经炸开了锅——短短两天内获得28万星标,连续发布两次重大更新,直接适配GPT-5.4模型,还彻底重构了Prompt工作机制。作为一个长期跟踪AI工程化落地的从…

2026/10/26 22:51:05 阅读更多 →
MicroED技术破解水合物晶体结构解析难题:从易失水转晶到原位原子级成像

MicroED技术破解水合物晶体结构解析难题:从易失水转晶到原位原子级成像

1. 从“测不准”的困境说起:水合物晶体分析的痛点在材料科学、药物研发和地质化学领域,水合物晶体是绕不开的研究对象。这类晶体结构中包含水分子,它们像建筑的“脚手架”一样,对维持整个晶格的稳定性和物理化学性质至关重要。然而…

2026/10/24 6:18:33 阅读更多 →
voc怎么转yolo,如何分割数据集为验证集,怎样检测CUDA可用性 并使用yolov8训练安全帽数据集且 构建基于yolov8深度学习 安全帽检测系统 数据格式转化

voc怎么转yolo,如何分割数据集为验证集,怎样检测CUDA可用性 并使用yolov8训练安全帽数据集且 构建基于yolov8深度学习 安全帽检测系统 数据格式转化

voc怎么转yolo,如何分割数据集为验证集,怎样检测CUDA可用性 安全帽数据集,5000张图片和对应的xml标签, 五千个yolo标签,到手即可训练。另外附四个常用小脚本,非常实用voc转yolo代码.py 分割数据集为验证集.…

2026/10/31 6:33:48 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/10/31 0:19:11 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/10/31 10:20:19 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/10/31 10:20:23 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/10/31 0:59:28 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/10/31 10:30:19 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/10/31 9:29:43 阅读更多 →

日新闻

周新闻

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/31 18:03:41 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/31 11:00:40 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/31 0:09:01 阅读更多 →