如何利用centos lnmp搭建网站
导读:在 CentOS 上搭建 LNMP 网站的实操指南 一 环境准备与版本建议 操作系统建议:CentOS 7/8(示例使用 CentOS 7.6)。 组件版本示例:Nginx 1.27.0、MariaDB 10.11、PHP 8.3.8(也...
在 CentOS 上搭建 LNMP 网站的实操指南
一 环境准备与版本建议
- 操作系统建议:CentOS 7/8(示例使用 CentOS 7.6)。
- 组件版本示例:Nginx 1.27.0、MariaDB 10.11、PHP 8.3.8(也可选择 MySQL 8.0)。
- 准备事项:
- 已创建并登录 Linux 云服务器/虚拟机,具备 sudo 权限。
- 开放安全组/防火墙的 TCP 80/443 端口。
- 域名解析已指向服务器 IP(准备上 HTTPS 时更方便)。
二 安装与配置 Nginx
- 添加 Nginx 官方仓库并安装:
- 创建仓库文件:
sudo vi /etc/yum.repos.d/nginx.repo,写入:[nginx] name=nginx repo baseurl=https://nginx.org/packages/mainline/centos/7/$basearch/ gpgcheck=0 enabled=1 - 安装与启动:
sudo yum install -y nginx sudo systemctl start nginx sudo systemctl enable nginx
- 创建仓库文件:
- 基本站点配置(取消 IPv6 监听,启用 PHP 解析):
- 编辑:
sudo vim /etc/nginx/conf.d/default.conf - 示例 server 块:
server { listen 80; root /usr/share/nginx/html; server_name localhost; index index.php index.html index.htm; location / { try_files $uri $uri/ =404; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } - 检查并重载 Nginx:
sudo nginx -t & & sudo systemctl reload nginx
- 编辑:
- 防火墙放行(如启用 firewalld):
sudo firewall-cmd --permanent --zone=public --add-service=http sudo firewall-cmd --permanent --zone=public --add-service=https sudo firewall-cmd --reload - 访问测试:浏览器打开 http://服务器IP,应看到 Nginx 欢迎页。
三 安装与配置 MariaDB/MySQL
- 安装 MariaDB(推荐):
sudo yum install -y mariadb-server mariadb sudo systemctl start mariadb sudo systemctl enable mariadb sudo mysql_secure_installation - 如需安装 MySQL 8.0(官方 YUM 源):
sudo yum install -y wget wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm sudo rpm -ivh mysql80-community-release-el7-3.noarch.rpm sudo yum install -y mysql-community-server sudo systemctl start mysqld sudo systemctl enable mysqld # 查看初始密码 sudo grep 'temporary password' /var/log/mysqld.log # 登录后修改密码(示例) mysql -u root -p ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourStrongPassword!'; - 创建网站数据库与用户(示例):
mysql -u root -p CREATE DATABASE your_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER 'your_user'@'localhost' IDENTIFIED BY 'YourStrongPassword!'; GRANT ALL PRIVILEGES ON your_db.* TO 'your_user'@'localhost'; FLUSH PRIVILEGES; EXIT; - 安全建议:仅本地访问数据库,远程访问需显式授权并限制来源 IP。
四 安装与配置 PHP 与 PHP-FPM
- 安装 PHP 与常用扩展(示例为 PHP 8.3;如仓库无该版本,可改用 Remi 源或编译安装):
sudo yum install -y php php-fpm php-mysqlnd php-gd php-xml php-mbstring sudo systemctl start php-fpm sudo systemctl enable php-fpm - 确认 PHP-FPM 监听方式(两种其一,保持与 Nginx 配置一致):
- TCP 方式(已在 Nginx 示例中使用):监听 127.0.0.1:9000。
- Socket 方式(更常见):编辑
/etc/php-fpm.d/www.conf,将
改为listen = 127.0.0.1:9000
并在 Nginx 的listen = /var/run/php-fpm/php-fpm.sock listen.owner = nginx listen.group = nginx listen.mode = 0660location ~ \.php$中改为:fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
- 重载服务:
sudo systemctl reload php-fpm sudo nginx -t & & sudo systemctl reload nginx - 运行环境测试:
浏览器访问 http://服务器IP/info.php,应看到 PHP 信息页。echo "< ?php phpinfo(); ?> " | sudo tee /usr/share/nginx/html/info.php
五 部署网站与上线
- 部署代码与目录权限:
sudo mkdir -p /var/www/your_site sudo chown -R nginx:nginx /var/www/your_site # 将站点文件上传至 /var/www/your_site - 新建虚拟主机配置(示例):
内容示例:sudo vim /etc/nginx/conf.d/your_site.conf
重载 Nginx:server { listen 80; server_name your_domain.com www.your_domain.com; root /var/www/your_site/public; index index.php index.html; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_pass 127.0.0.1:9000; # 或 unix:/var/run/php-fpm/php-fpm.sock; } location ~ /\.ht { deny all; } }sudo nginx -t & & sudo systemctl reload nginx - 导入数据库(如有备份):
mysql -u your_user -p your_db < your_data.sql - 上线与优化建议:
- 配置 HTTPS/TLS:使用 Certbot 一键申请免费证书(Nginx 插件):
sudo yum install -y certbot python3-certbot-nginx sudo certbot --nginx -d your_domain.com -d www.your_domain.com - 性能与安全:启用 OPcache、限制上传大小、关闭显示错误到浏览器、定期更新系统与组件、备份数据库与代码。
- 配置 HTTPS/TLS:使用 Certbot 一键申请免费证书(Nginx 插件):
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何利用centos lnmp搭建网站
本文地址: https://pptw.com/jishu/758993.html
