LNMP环境部署网站教程
LNMP是一个流行的网站环境组合,包括Linux操作系统、Nginx Web服务器、MySQL数据库和PHP编程语言。本文将详细介绍如何部署LNMP环境,并通过实际操作步骤指导读者完成整个部署过程。
准备工作
在开始LNMP环境部署之前,需要确保满足以下前提条件:
- 一台运行Linux系统(推荐CentOS)的服务器
- root用户权限
- 常用的网络工具(如wget、vim等)
- 基础的网络知识
检查服务器配置
首先登录服务器,使用以下命令检查服务器基本配置:
# 查看操作系统版本
cat /etc/system-release
# 查看CPU信息
lscpu
# 查看内存信息
free -h
# 查看磁盘空间
df -h
确保服务器满足基本运行要求,特别是磁盘空间要充足。
安装Nginx服务器
Nginx是一款高性能的Web服务器,具有出色的并发处理能力和稳定性,是LNMP环境中不可或缺的一环。
安装依赖组件
在安装Nginx前,需要先安装一些依赖组件:
# 安装编译所需的工具
yum install -y gcc make cmake pcre-devel openssl-devel wget
下载并安装Nginx
-
访问Nginx官网下载最新版本:https://nginx.org/download/
-
使用wget下载最新稳定版本:
# 下载Nginx-1.22.1版本(示例)
wget https://nginx.org/download/nginx-1.22.1.tar.gz
# 解压文件
tar -zxf nginx-1.22.1.tar.gz
# 进入目录
cd nginx-1.22.1
- 编译安装:
# 配置安装参数
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module
# 编译安装
make && make install
- 创建Nginx服务启动脚本:
在/etc/init.d/目录下创建nginx文件,内容如下:
#!/bin/bash
# chkconfig: 2345 85 15
# description: Nginx Web Server
case "$1" in
start)
/usr/local/nginx/sbin/nginx
;;
stop)
/usr/local/nginx/sbin/nginx -s stop
;;
restart)
/usr/local/nginx/sbin/nginx -s reload
;;
*)
echo $"Usage: $0 {start|stop|restart}"
exit 1
;;
esac
- 修改文件权限并开启服务:
# 赋予执行权限
chmod +x /etc/init.d/nginx
# 开启服务
service nginx start
# 设置开机自启动
chkconfig nginx on
- 验证安装:
打开浏览器访问http://服务器IP,如果出现"Nginx by nginx"页面,则表示安装成功。
安装MySQL数据库
MySQL是一款功能强大的关系型数据库管理系统,是LNMP环境中数据存储的核心组件。
删除系统自带的MySQL
CentOS系统通常会预装MariaDB,需要先移除:
# 卸载MariaDB
yum remove -y mariadb-server mariadb
# 删除相关配置文件
rm -rf /var/lib/mysql
rm -f /etc/my.cnf
安装MySQL社区版
- 添加MySQL官方仓库:
# 创建MySQL仓库文件
cat << EOF > /etc/yum.repos.d/mysql-community.repo
[mysql-community]
name=MySQL Community Edition
baseurl=https://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/
enabled=1
gpgcheck=1
gpgkey=https://repo.mysql.com/mysql-community-el7-keyring.gpg
summary=MySQL Community Edition
priority=1
EOF
- 安装MySQL服务器:
# 安装MySQL
yum install -y mysql-community-server
# 启动MySQL服务
service mysqld start
# 检查MySQL服务状态
netstat -tln | grep 3306
- 初始化root密码:
# 登录MySQL进行密码设置
mysql -u root -p
# 输入root密码后执行以下命令
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
- 设置MySQL开机自启动:
# 设置开机自启动
chkconfig mysqld on
安装PHP编程语言
PHP是LNMP环境中的核心编程语言,负责处理Web应用的业务逻辑。
安装PHP及常用扩展
- 安装PHP核心:
# 安装PHP及常用扩展
yum install -y php php-cli php-fpm php-mysqlnd php-gd php-xml php-ldap php-mbstring php-curl php-pear
- 编辑PHP配置文件:
# 编辑php.ini配置文件
vi /etc/php.ini
# 修改以下配置项
date.timezone = Asia/Shanghai
max_execution_time = 300
memory_limit = 256M
- 重启PHP-FPM服务:
# 重启PHP服务
service php-fpm restart
# 在Nginx配置中使用PHP
vi /usr/local/nginx/conf/nginx.conf
- 添加PHP测试页面:
创建/usr/local/nginx/html/info.php文件,内容如下:
<?php phpinfo(); ?>
然后在浏览器访问http://服务器IP/info.php,如果出现PHP信息页面,则表示PHP安装成功。
部署WordPress网站
以WordPress为例,演示如何将LNMP环境应用于实际网站部署。
安装WordPress
- 下载WordPress最新版本:
# 下载WordPress
wget https://wordpress.org/latest.tar.gz
# 解压文件
tar -zxf latest.tar.gz
# 将文件移动到网站目录
mv wordpress /usr/local/nginx/html/
# 重命名默认文件
mv /usr/local/nginx/html/index.html /usr/local/nginx/html/index.php
- 创建WordPress数据库:
登录MySQL,创建数据库:
CREATE DATABASE wordpress;
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY '密码';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
- 配置WordPress
进入/usr/local/nginx/html/wordpress目录,复制wp-config-sample.php并重命名:
cp wp-config-sample.php wp-config.php
vi wp-config.php
修改以下配置:
// 数据库配置
define( 'DB_NAME', 'wordpress' );
define( 'DB_USER', 'wpuser' );
define( 'DB_PASSWORD', '密码' );
define( 'DB_HOST', 'localhost' );
// WordPress目录路径
define( 'WP_CONTENT_DIR', dirname( __FILE__ ) . '/wp-content' );
- 配置Nginx站点
创建Nginx配置文件:
vi /usr/local/nginx/conf/nginx.conf
加入以下配置:
server {
listen 80;
server_name localhost;
# 网站根目录
root /usr/local/nginx/html/wordpress;
# 默认索引文件
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
# 重写PHP文件
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param PATH_INFO $REQUEST_URI;
include fastcgi_params;
}
}
- 重启Nginx服务:
service nginx restart
- 配置防火墙:
# 开放80和3306端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
- 登录WordPress后台
访问http://服务器IP,按照提示进行安装配置,完成后即可使用WordPress创建内容。
优化LNMP环境
为了提升网站性能和安全性,需要对LNMP环境进行优化配置。
Nginx性能优化
- 修改Nginx配置:
# worker进程数
worker_processes 4;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
# 启用GZIP压缩
gzip on;
gzip_disable "msie6";
# 配置GZIP压缩等级
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
# 超时设置
client_timeout 60;
client_body_timeout 60;
send_timeout 60;
server {
# ...
}
}
- 启用


AI 助手1 个月前
发表在:欢迎使用emlog谢谢您的分享!您的评论很有见地。确实,...
AI 助手1 个月前
发表在:欢迎使用emlog谢谢您的建议!确实,选择3D扫描仪时,...
AI 助手1 个月前
发表在:欢迎使用emlog感谢您的分享!很高兴看到大家对工业3D...
AI 助手1 个月前
发表在:欢迎使用emlog感谢分享!您的观点很独特,听起来像是一...
AI 助手1 个月前
发表在:欢迎使用emlog非常感谢您的分享!3D сканеры...
AI 助手1 个月前
发表在:欢迎使用emlog非常感谢您的分享!听起来3D金属打印技...
AI 助手1 个月前
发表在:欢迎使用emlog谢谢分享!WMS系统确实能提升仓储效率...
AI 助手1 个月前
发表在:欢迎使用emlog谢谢分享这些有价值的建议!希望您的3D...
主机评测博客1 个月前
发表在:内存卡损坏数据恢复的7个方法(内存卡读不出修复)https://www.88993.cn...
emlog1 个月前
发表在:欢迎使用emlog这是系统生成的演示评论