CentOS 7.5搭建lnmp环境,并实现数据库远程连接及laravel和tp5项目部署配置

本文涉及的产品
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
RDS Agent(兼容OpenClaw),2核4GB
RDS DuckDB + QuickBI 企业套餐,8核32GB + QuickBI 专业版
简介: CentOS 7.5搭建lnmp环境,并实现数据库远程连接及laravel和tp5项目部署配置

设置防火墙


允许http/https通信,开放80/8080/443端口,然后重载防火墙配置(firewall-cmd --reload)

firewall-cmd --zone=public --add-service=http  --permanent
firewall-cmd --zone=public --add-service=https  --permanent
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --zone=public --add-port=8080/tcp --permanent 

image.png

加个数据库端口:

firewall-cmd --zone=public --add-port=3306/tcp --permanent

image.png

安装nginx


安装PCRE正则表达式库(yum install pcre pcre-devel)

image.png

安装提供数据压缩的函式库zlib(yum install zlib zlib-devel)

image.png

安装OpenSSL库(yum install openssl openssl-devel)

20190426174333752.png

配置nginx官方源(rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

image.png

安装nginx(yum install nginx)

20190426175022653.png

修改nginx配置文件


nginx配置文件位置:/etc/nginx/nginx.conf

可以在这里配置网站目录和访问端口,此外也可以在:/etc/nginx/conf.d目录中直接添加一个配置文件来对应一个网站,nginx会在访问nginx.conf文件时遍历/etc/nginx/conf.d目录中的配置文件来获取配置,默认配置文件default.conf文件中默认为80端口

image.png

此时启动nginx(systemctl start nginx),浏览器访问服务器ip会访问到nginx默认页面,我们尝试修改default.conf,把默认端口改为8080

image.png

重启nginx服务(systemctl restart nginx)后访问,成功访问如下

image.png

安装PHP


安装epel-release配置yum软件仓库(yum install epel-release -y)

image.png

安装php7及一些常用的类库(yum  install php72w php72w-cli php72w-common php72w-devel php72w-embedded php72w-fpm php72w-gd php72w-mbstring php72w-mysqlnd php72w-opcache php72w-pdo php72w-xml)

image.png

启动PHP,并设置开机启动

image.png

让nginx支持PHP,修改default.conf中的以下部分:

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

image.png

重启nginx,并新建info.php文件用于输出php信息

image.png

成功输出,说明安装成功

20190426190247863.png

安装mysql数据库


配置Mariadb源(国内)vim /etc/yum.repos.d/MariaDB.repo

[mariadb]
name = MariaDB
baseurl = https://mirrors.ustc.edu.cn/mariadb/yum/10.1/centos7-amd64/
gpgkey=https://mirrors.ustc.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck=1

image.png

更新源(yum clean&&yum update)并执行安装操作(yum install MariaDB-client MariaDB-server)

image.png

启动数据库(systemctl start mariadb)并设置开机启动(systemctl enable mariadb)

image.png

初始化mariadb


数据库安全配置(mysql_secure_installation):

20190428103024664.png

服务器本地登录数据库(mysql -u root -p)

image.png

分别配置mysql服务端( vi /etc/my.cnf.d/server.cnf)和客户端(vi /etc/my.cnf.d/mysql-clients.cnf)如下

20190428103333761.png

重启并登录数据库查看设置是否成功(show variables like "%character%";show variables like "%collation%";)

image.png

配置远程登录用户权限


这里我不限制权限和ip,给了最大权限和对所有ip开放

# 针对ip
create user 'root'@'192.168.10.10' identified by 'password';
#全部
create user 'root'@'%' identified by 'password';
授权用户:
# 给用户最大权限
grant all privileges on *.* to 'root'@'%' identified by 'password';
# 给部分权限(test 数据库)
grant all privileges on test.* to 'root'@'%' identified by 'password' with grant option;
# 刷新权限表
flush privileges;

image.png

配置完重启数据库,远程连接正常执行!

如果是tp5或者laravrl项目,在部署时配置文件应该配置如下:

server {
        listen       8080;
        server_name  localhost;
        charset utf-8;
        access_log  logs/host.access.log  main;
        root /data/default/tp5/public;
        index  index.html index.htm index.php;
        location / {
            if (!-e $request_filename) {
                rewrite ^(.*)$ /index.php?s=$1 last;
                break;
            }
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
        location ~ \.php$ {
           fastcgi_pass   127.0.0.1:9000;
           fastcgi_index index.php;
           include fastcgi_params;
           set $real_script_name $fastcgi_script_name;
           if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {
               set $real_script_name $1;
               set $path_info $2;
           }
           fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
           fastcgi_param SCRIPT_NAME $real_script_name;
           fastcgi_param PATH_INFO $path_info;
        }
        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|ico)$ {
            expires 30d;
            access_log off;
        }
        location ~ .*\.(js|css)?$ {
            expires 7d;
            access_log off;
       }
}

参考文章:

cnetos 7 安装lamp环境并解决数据库远程连接问题

Centos7.5搭建lnmp(详细+实战)

nginx支持TP框架配置的nginx.conf

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
8月前
|
Oracle 关系型数据库 Linux
【赵渝强老师】Oracle数据库配置助手:DBCA
Oracle数据库配置助手(DBCA)是用于创建和配置Oracle数据库的工具,支持图形界面和静默执行模式。本文介绍了使用DBCA在Linux环境下创建数据库的完整步骤,包括选择数据库操作类型、配置存储与网络选项、设置管理密码等,并提供了界面截图与视频讲解,帮助用户快速掌握数据库创建流程。
664 93
|
8月前
|
Ubuntu 安全 关系型数据库
安装与配置MySQL 8 on Ubuntu,包括权限授予、数据库备份及远程连接指南
以上步骤提供了在Ubuntu上从头开始设置、配置、授权、备份及恢复一个基础但完整的MySQL环境所需知识点。
868 7
|
8月前
|
缓存 Java 应用服务中间件
Spring Boot配置优化:Tomcat+数据库+缓存+日志,全场景教程
本文详解Spring Boot十大核心配置优化技巧,涵盖Tomcat连接池、数据库连接池、Jackson时区、日志管理、缓存策略、异步线程池等关键配置,结合代码示例与通俗解释,助你轻松掌握高并发场景下的性能调优方法,适用于实际项目落地。
1396 5
|
10月前
|
SQL XML Java
配置Spring框架以连接SQL Server数据库
最后,需要集成Spring配置到应用中,这通常在 `main`方法或者Spring Boot的应用配置类中通过加载XML配置或使用注解来实现。
719 0
|
8月前
|
缓存 关系型数据库 BI
使用MYSQL Report分析数据库性能(下)
使用MYSQL Report分析数据库性能
514 158
|
8月前
|
关系型数据库 MySQL 数据库
自建数据库如何迁移至RDS MySQL实例
数据库迁移是一项复杂且耗时的工程,需考虑数据安全、完整性及业务中断影响。使用阿里云数据传输服务DTS,可快速、平滑完成迁移任务,将应用停机时间降至分钟级。您还可通过全量备份自建数据库并恢复至RDS MySQL实例,实现间接迁移上云。
|
8月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS费用价格:MySQL、SQL Server、PostgreSQL和MariaDB引擎收费标准
阿里云RDS数据库支持MySQL、SQL Server、PostgreSQL、MariaDB,多种引擎优惠上线!MySQL倚天版88元/年,SQL Server 2核4G仅299元/年,PostgreSQL 227元/年起。高可用、可弹性伸缩,安全稳定。详情见官网活动页。
1281 152
|
8月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎,提供高性价比、稳定安全的云数据库服务,适用于多种行业与业务场景。
956 156
|
8月前
|
缓存 监控 关系型数据库
使用MYSQL Report分析数据库性能(中)
使用MYSQL Report分析数据库性能
537 156
|
8月前
|
缓存 监控 关系型数据库
使用MYSQL Report分析数据库性能(上)
最终建议:当前系统是完美的读密集型负载模型,优化重点应放在减少行读取量和提高数据定位效率。通过索引优化、分区策略和内存缓存,预期可降低30%的CPU负载,同时保持100%的缓冲池命中率。建议每百万次查询后刷新统计信息以持续优化
649 161