在CentOS系统上搭建LNMP环境,即Linux、Nginx、MySQL/MariaDB和PHP的组合,是一个常见且强大的网站服务器架构,以下是详细的步骤:
1、准备工作
安装编译工具和依赖软件包:
yum y install gcc gccc++ pcredevel openssl openssldevel zlibdevel ncursesdevel cmake bison libxml2devel libpngdevel
2、安装Nginx
添加Nginx的YUM源:
vi /etc/yum.repos.d/nginx.repo
在文件中添加以下内容:
[nginx] name=nginx repo baseurl=https://nginx.org/packages/mainline/centos/7/$basearch/ gpgcheck=0 enabled=1
安装Nginx:
yum install y nginx
启动Nginx并设置开机自启动:
systemctl start nginx systemctl enable nginx
3、安装MySQL
添加MySQL的YUM源:
vi /etc/yum.repos.d/mysqlcommunity.repo
在文件中添加以下内容:
[mysql57community] name=MySQL 5.7 Community Server baseurl=http://repo.mysql.com/yum/mysql5.7community/el/7/$basearch/ gpgcheck=1 enabled=1 gpgkey=file:///etc/pki/rpmgpg/RPMGPGKEYmysql
安装MySQL:
yum install y mysqlcommunityserver
启动MySQL并设置开机自启动:
systemctl start mysqld systemctl enable mysqld
进行MySQL安全配置:
mysql_secure_installation
按提示完成安全配置。
4、安装PHP
添加Remi源:
wget http://rpms.remirepo.net/enterprise/remirelease7.rpm rpm Uvh remirelease7.rpm yum install y epelrelease yum clean all yum makecache
安装PHP及相关模块:
yum install y php phpfpm phpcommon phpopcache phpmcrypt phpmbstring phpxml phpgd phpmysql phppdo phppeclzip phppecljson phppeclmemcached phppear phppeclredis
启动PHPFPM并设置开机自启动:
systemctl start phpfpm systemctl enable phpfpm
5、配置Nginx支持PHP
编辑Nginx配置文件:
vi /etc/nginx/conf.d/default.conf
找到location /
块,修改为:
location / { root /usr/share/nginx/html; index index.php index.html index.htm; }
添加处理PHP请求的配置:
location ~ \.php$ { try_files $uri =404; fastcgi_pass unix:/var/run/phpfpm/phpfpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
重启Nginx服务:
systemctl restart nginx
6、测试LNMP环境
创建测试PHP文件:
vi /usr/share/nginx/html/info.php
添加以下内容:
<?php phpinfo(); ?>
访问测试页面:在浏览器中输入服务器IP地址或域名,加上/info.php
,如http://your_server_ip/info.php
,如果看到PHP信息页面,说明LNMP环境搭建成功。
FAQs
1、为什么建议使用yum安装而不是编译安装?
答案:yum安装更加方便快捷,不需要手动解决依赖问题,也避免了编译过程中可能出现的错误,而编译安装虽然可以自定义参数和路径,但过程相对复杂,容易出错,对于大多数用户来说,yum安装是更好的选择。
2、如何检查Nginx、MySQL和PHP是否安装成功?
答案:可以通过以下命令检查:
# 检查Nginx版本 nginx v # 检查MySQL版本 mysql version # 检查PHP版本 php v