Featured image of post 快速搭建一个LNMP环境

快速搭建一个LNMP环境

新买的服务器快速搭建好 PHP 环境

环境说明

  • 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结尾的配置文件(图中绿色圈中部分)
    • 删除掉默认的server层(图中红色圈中部分),统一在/etc/nginx/conf.d/*.conf配置
    • 我们只需要去include /etc/nginx/conf.d/添加配置即可
    • 新建一个配置文件
    • vi /etc/nginx/conf.d/blog.conf
    • 复制以下配置并保存
# 每一个 .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中写入
<?php
    phpinfo();
  • 然后访问你的服务器ip地址
  • 如果显示phpinfo的信息,至此完成

END