2023-12-29 服务器开发-Centos部署LNMP环境

摘要:

2023-12-29 服务器开发-Centos部署LNMP环境

centos7.2搭建LNMP具体步骤

1.配置防火墙

CentOS 7.0以上的系统默认使用的是firewall作为防火墙,

关闭firewall:

复制代码
systemctl stop firewalld.service         #停止firewall 
systemctl disable firewalld.service      #禁止firewall开机启动

2.安装以及配置nginx

(1)可直接使用服务器内自带的yum源进行安装。

yum install -y nginx

(2)修改nginx默认配置文件。

复制代码
cd    /etc/nginx/                              #nginx的默认配置目录
mv    nginx.conf    nginx.conf.swf             #将通过yum安装自动生成的配置文件换名,不再使用。
mv     nginx.conf.default  nginx.conf          #将default文件修改为加载配置文件

(3)启动nginx,并访问。

复制代码
systemctl start nginx.service                     #启动nginx 
systemctl stop nginx.service                      #停止 
systemctl restart nginx.service                   #重启 
systemctl enable nginx.service               
此时使用公网IP访问,即可打开nginx的默认欢迎页面。

3.安装php环境以及依赖扩展,并开启php

(1)安装环境。

复制代码
yum install -y    php-fpm   php php-mysql php-gd libjpeg* php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-bcmath php-mhash
bash 复制代码
yum install php php-fpm php-mysql -y

(2)启动php-fpm。

复制代码
systemctl start php-fpm.service             #启动php-fpm
systemctl enable php-fpm.service            #设置开机启动

(3)修改配置文件,使nginx兼容php。

vim /etc/nginx/nginx.conf

在location内添加上index.php

把php识别之前的#注释给去掉就可以了,并且改一下fastcgi_param

复制代码
location / {
root html;
index index.php index.html index.htm;
}

error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}

location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME    $document_root$fastcgi_script_name;
include fastcgi_params;
}

(4)重启nginx和php-fpm

复制代码
systemctl restart php-fpm.service
systemctl restart nginx.service

(5)访问phpinfo验证

进入nginx默认根目录 cd /usr/share/nginx/html/

vim index.php

复制代码
<?php
echo phpinfo();
?>

此时访问公网IP/index.php,可看到php的探针页面

4.安装mysql,并连接php进行验证

(1)centos7以上的系统,默认数据库为MariaDB,需要下载mysql源进行安装。

复制代码
wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum install -y mysql-community-server

成功安装之后重启mysql服务:

systemctl start mysqld

(2)安装后的mysql数据库是没有密码的,可进入数据库后授权,设置密码。

复制代码
mysql -u root  
mysql> use mysql;  
mysql> update user set password=PASSWORD("这里输入root用户密码") where user='root';  
mysql> flush privileges;  
mysql> exit  

(3)编写php测试mysql是否可连接的代码,并访问。

vim /usr/share/nginx/html/test.php

复制代码
<?php
$link=mysql_connect("localhost","root","刚才所设置的数据库密码");
if(!$link) echo "FAILD!error";
else echo "OK!You succeeded.";
?>

保存后,此时访问IP/test.php,可看到

至此,基于centos7.2系统所安装的LNMP环境已经全部搭建完毕。

相关推荐
是枚小菜鸡儿吖4 分钟前
从 0 到 1 生成自定义算子:CANN + AIGC 的自动化工作流
运维·自动化·aigc
考琪8 分钟前
Nginx打印变量到log方法
java·运维·nginx
tritone18 分钟前
使用阿贝云免费云服务器学习Vagrant,是一次非常顺畅的体验。作为一名开发者
服务器·学习·vagrant
wangjialelele19 分钟前
Linux中的进程管理
java·linux·服务器·c语言·c++·个人开发
SAP工博科技27 分钟前
SAP 公有云 ERP 多工厂多生产线数据统一管理技术实现解析
大数据·运维·人工智能
YongCheng_Liang30 分钟前
从零开始学虚拟化:桌面虚拟化(VDI)入门指南(架构 + 产品 + 部署)
运维·云计算
杜子不疼.37 分钟前
【Linux】库制作与原理(二):动态库的制作与使用
linux·运维·服务器
小白电脑技术44 分钟前
飞牛漏洞焦虑?别瞎折腾WAF了!用Lucky五步搞定“防爬墙”
服务器·网络·安全
消失的旧时光-19431 小时前
Nginx 是什么?为什么它不写在代码里?——从 0 认识 Nginx
运维·服务器·nginx
BJ_Bonree1 小时前
4月17日,博睿数据受邀出席GOPS全球运维大会2026 · 深圳站!
大数据·运维·人工智能