前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >快速搭建一个LNMP环境

快速搭建一个LNMP环境

作者头像
seth-shi
发布2023-12-18 14:28:16
1190
发布2023-12-18 14:28:16
举报
文章被收录于专栏:seth-shi的专栏seth-shi的专栏

环境说明

  • Linux版本为CentOS7
  • Nginx装默认版本
  • MySQLMariaDB
  • PHP装的版本为PHP71

Linux

  • 购买好服务器之后徐开启端口
    • 80 HTTP服务
    • 443 HTTPS服务(可选)
    • 3306 远程连接MySQL服务

Nginx

  • CentOS安装Nginx是极为方便的
    • yum install nginx -y
  • 运行Nginx
    • nginx
  • 设置开机自启动
    • systemctl enable nginx
  • 修改配置文件
    • 默认配置文件在/etc/nginx/nginx.conf
    • include /etc/nginx/conf.d/*.conf;
    • 通过上面这一行引入了以.conf结尾的配置文件(图中绿色圈中部分)
    Nginx配置
    Nginx配置

    Nginx配置

    • 删除掉默认的server层(图中红色圈中部分),统一在/etc/nginx/conf.d/*.conf配置
    • 我们只需要去include /etc/nginx/conf.d/添加配置即可
    • 新建一个配置文件
    • vi /etc/nginx/conf.d/blog.conf
    • 复制以下配置并保存
代码语言:javascript
复制
# 每一个 .conf 文件就写这么多配置即可
server {
    # 监听的端口,多个配置文件汇总 listen和server_name不能完全相同,必须两个之中有一个不同
    listen      80;
    # 监听的域名(如果有域名解析到服务器,填在这里,多个用空格隔开)
    server_name localhost;
    # 网站根路径,我喜欢把网站放在 /var/www/ ,个人随意
    root        /var/www/blog;
    # 网站默认首页
    index       index.php index.html index.htm;

    # 这个并不是必须的,如果使用 Laravel 会需要到
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    # 如果只是运行静态文件,可以忽略
    # 但要运行 PHP 必须配置 Nginx 反向代理
    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 nginx -s reload

MySQL

  • 安装MySQL的社区版本MariaDB
    • yum -y install mariadb mariadb-server
  • 启动服务
    • systemctl start mariadb
  • 开启自启动
    • systemctl enable mariadb
  • 初始化配置
    • mysql_secure_installation
    • 首先是设置密码,会提示先输入密码
    • Enter current password for root (enter for none): <–初次运行直接回车
    • 设置密码
    • Set root password? [Y/n] <– 是否设置root用户密码,输入y并回车或直接回车
    • New password: <– 设置root用户的密码
    • Re-enter new password: <– 再输入一次你设置的密码
    • Remove anonymous users? [Y/n] <– 是否删除匿名用户,回车
    • Disallow root login remotely? [Y/n] <–是否禁止root远程登录,回车,
    • Remove test database and access to it? [Y/n] <– 是否删除test数据库,回车
    • Reload privilege tables now? [Y/n] <– 是否重新加载权限表,回车
    • 至此完成配置
  • 连接测试
    • mysql -uroot -p
    • Enter password:输入配置中设置的密码进入数据库
  • 远程登录(可选)(!username 对应自己想要的用户名,password 对应自己想要的密码)
    1. 创建用户
      • create user username@localhost identified by 'password';
    2. 授予外网登陆权限
      • grant all privileges on *.* to username@'%' identified by 'password';
    3. 权限立即生效
      • FLUSH PRIVILEGES;

PHP

  • 因为默认镜像源没有 7.1,我们更换一下
    • rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
    • rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
  • 安装php71w和各种拓展,选自己需要的即可。
    • yum install php71w php71w-cli php71w-common php71w-devel php71w-embedded php71w-fpm php71w-gd php71w-mbstring php71w-mysqlnd php71w-opcache php71w-pdo php71w-xml
  • 安装完成后查看版本
    • php -v
  • 启动php-fpmNginx反向代理
    • systemctl start php-fpm
  • 设置开机自启动
    • systemctl enable php-fpm

WEB

  • 开始时Nginx配置了网站根目录为/var/www/blog;
  • 这时候我们可以新建一个测试文件访问
    • mkdir /var/www/blog
    • vi /var/www/blog/index.php
    • index.php中写入
代码语言:javascript
复制
<?php
    phpinfo();
  • 然后访问你的服务器ip地址
  • 如果显示phpinfo的信息,至此完成

END

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-03-31 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 环境说明
  • Linux
  • Nginx
  • MySQL
  • PHP
  • WEB
  • END
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档