前言

LIUNX服务器部署,百度找的资料有些都是老的。查了一些资料顺便整合了一下,阿里云服务器(ECS)可以选择多种操作系统,打算用它运行Drupal或者WordPress,你最好选择Liunx系统,这篇文章的演示是基于阿里云的CentOS操作系统的服务器,在上面搭建LEMP的环境。

那就。。。。。。开始啦!!!~~~~

走你

创建服务器实例

创建一个服务器实例其实就是去购买一台相应配置的云服务器。注册并登录到阿里云的网站,在 产品服务 里选择 云服务器 ECS ,点击页面上的 立即购买。可以 包年包月 的购买,也可以 按量付费,也就是用多少花多少,不过这种方式不支持网站的备案。

确定后,可以按需要去配置服务器,建议最初可以选择最低配置,因为后续升级也非常容易。选择 CPU,内存,带宽,不同的配置价格不同。你还要选择 地域 ,也就是云服务器所在的地方,目前只有 青岛 与 杭州。再去选择操作系统,这篇文章所做的测试用的是 CentOS 6.3 64 位。需要的话可以再增加一块数据盘,默认会带一个系统盘,一共 20 G ,足够我们测试用了。

现在推荐使用 CentOS 7 64 位。

aliyun-05.png

点击 立即购买,预览一下所选的服务器,然后 提交订单。

aliyun-01.png

选择支付方式,然后点击 确认支付。

aliyun-02.png

注意支付以后,可能会等一小会儿订单才能生效。至少我是等了一会儿,也可能是因为我用的手机版的支付宝。支付成功以后,打开你的个人账户页面,选择 管理控制台,在这里,你可以找到购买的云服务器。云服务器默认的 root(超级管理员) 用户的密码,会发送到你的手机上,你也可以点击 修改密码,去修改 root 用户密码。

在这个界面,你还可以 停止 或 重启 去服务器。也可以找到你的服务器的公众的 IP 地址。我购买的这台服务器地址是 218.244.147.196,使用这个地址配合 root 用户和密码,你可以使用工具登录到服务器,对它进行远程管理,比如安装软件,修改设置,重启服务等等。

aliyun

远程控制你的服务器

远程控制 Linux 类型的系统的服务器,比如 CentOS 系统的服务器,一般不像 Windows 服务器那样,使用图形界面的远程控制。我们需要使用命令行工具,远程连接到服务器,然后使用命令去控制服务器。Windows 用户可以使用 Putty,Mac 用户可以使用系统自带的终端工具。然后用 ssh 命令,连接到你的服务器。像这样:

ssh root@218.244.147.196

@ 左边的 root 是连接时使用的用户的名字,@ 右边的数字是你的服务器的 IP 地址。这行命令的意思就是,使用 root 用户,登录到 218.244.147.196 这台服务器上。回车以后,会提示你输入 root 用户的密码(这个密码阿里云会发送到你手机上)。

添加新用户并分配 Root 权限

为了安全,我们可以单独创建一个平时操作服务器的用户,并且给这个用户分配可以使用 Root 的权限,也就是如果需要 Root 权限,可以在命令的前面加上 sudo 获取到 Root 用户的权限。

添加新用户

比如添加一个名字是 wanghao 的用户,可以这样:

adduser niexiangyang

设置密码

为用户设置密码:

passwd niexiangyang

分配Root权限

让我们新创建的用户拥有 Root 用户的权限,执行:

gpasswd -a niexiangyang wheel

把 niexiangyang这个用户名换成你自己的用户名。

用新用户登录服务器

ssh niexiangyang@218.244.147.196

仓库

为了可以使用 CentOS 系统的包管理工具去安装更多的东西,我们需要单独安装一些额外的软件仓库。

EPEL

sudo yum install epel-release -y

IUS

sudo yum install https://centos7.iuscommunity.org/ius-release.rpm -y

IUS 仓库里面有我们需要的一些新的软件包,比如 PHP 7。注意我们安装的是为 CentOS 7 这个系统准备的 IUS 仓库,如果你的系统是 CentOS 6,你需要到 IUS 网站上去查找适合的仓库的下载地址。

现在开始安装环境啦!!!~~~

timg (3).jpg

安装NGINX

NGINX 这个软件包已经包装在 EPEL 仓库里了,之前我们已经安装了这个仓库,所以可以直接使用包管理工具去安装 NGINX。

sudo yum install nginx -y

启动

sudo systemctl start nginx

开机自启动

sudo systemctl enable nginx

服务启动以后,你就可以在浏览器上使用服务器的 IP 地址,或者指向这个地址的域名访问服务器指定的目录了。你会看到类似下面的这些文字。

Welcome to nginx! If you see this page, the nginx web server is successfully installed and working. Further configuration is required. For online documentation and support please refer to nginx.org. Commercial support is available at nginx.com. Thank you for using nginx.

配置 nginx 虚拟主机

安装完 nginx 以后,第一件想到的事应该就是去创建虚拟主机,虚拟主机允许我们在同一台服务器上运行多个网站,我们可以为不同的域名绑定不同的目录,访问这个域名的时候,会打开对应目录里面的东西。之前介绍过为 Apache 服务器创建虚拟主机,下面来看一下为 nginx 配置虚拟主机。先进入到 nginx 配置文件目录:

cd /etc/nginx/conf.d

创建一个新的配置文件,比如我要为 nginx.ninghao.net 这个主机名创建一个虚拟主机,可以这样:

vim nginx.ninghao.net.conf

把下面的配置代码放到这个配置文件里:

server {

listen 80;

server_name nginx.ninghao.net;

root /home/www/nginx.ninghao.net;

index index.php index.html;

location / {

try_files $uri $uri/ /index.php?$query_string;

}

location ~ \.php$ {

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

include fastcgi.conf;

}

}

上面这个配置文件支持一些的 PHP 应用,比如 WordPress,Drupal,Laravel。第一个 location 区块可以让 PHP 应用支持地址的重写功能,第二个 Location 设置了让虚拟主机可以去处理 PHP 的请求。注意这里用了 include 命令,包含进来一个 fastcgi.conf 文件,你要确定这个文件存在。

你也可能会找到 fastcgi_params 这个文件,如果没有 fastcgi.conf 就把 fastcgi_params 这个文件包含进来,并且在处理 php 的那个 location 区块里再添加一条配置:

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

server_name 就是主机名,也就是跟这个虚拟主机绑定在一块儿的域名,我事先把 nginx.ninghao.net 指向了服务器,这个虚拟主机就是为它准备的,所以,server_name 后面的东西就是 nginx.ninghao.net 。紧接着 server_name 下面可以是一个 root,就是这个虚拟主机的根目录,也就是网站所在的目录。比如我们要把 nginx.ninghao.net 这个网站的文件放在 /home/www/nginx.ninghao.net 下面,那么这个 root 就是这个路径。

然后去掉 location / 里面的 root 这行代码。再在 index 后面加上一种索引文件名,也就是默认打开的文件,这里要加上一个 index.php ,这样访问 nginx.ninghao.net 就可以直接打开 root 目录下面的 index.php 了。稍后我们再去安装 php 。

保存一下,按 esc ,输入 :wp(保存并退出)。现在虚拟主机应该就可以使用了。主机的域名是 nginx.ninghao.net,访问它的时候,打开的是 /home/www/nginx.ninghao.net 这个目录里面的东西,你可以在这个目录下放点东西。

重启 nginx 或者重新加载 nginx 可以让配置文件生效。

sudo systemctl reload nginx

现在,打开浏览器,输入你为虚拟主机设置的域名,看看是否能打开你指定的目录里的东西。

PHP

要让 nginx 能够执行 php 文件,需要去安装一下 php-fpm,我要安装的是比较新的 PHP 7 ,这个软件包可以在 IUS 仓库里找到,所以你需要先安装 IUS 仓库。

sudo yum install php70u-fpm -y

启动

sudo systemctl start php-fpm

开启自启动

sudo systemctl enable php-fpm

安装PHP扩展

为了可以正常运行一般的 PHP 应用,你需要再安装一些其它的 PHP 扩展,通常你在安装 PHP 应用,比如 WordPress,Drupal,Laravel 的时候,都会提示你缺少的 PHP 扩展。下面是一些常用的 PHP 扩展:

sudo yum install php70u-gd php70u-mysqlnd php70u-pdo php70u-mcrypt php70u-mbstring php70u-json php70u-opcache php70u-xml -y

重新加载 PHP-FPM

sudo systemctl reload php-fpm

测试是否可以执行 php

现在,我们已经安装了 php-fpm,并修改了 nginx 的配置文件让它可以去执行 php,下面,我们得去测试一下,可以使用 php 的 phpinfo(); 函数,方法是在你的虚拟主机根目录下面,创建一个 php 文件,命名为 phpinfo.php,然后在这个文件里输入:

保存文件并退出。在浏览器里打开刚才创建的这个 php 文件。我这里应该是

安装 MySQL / MariaDB

MySQL 与 MariaDB 是相互兼容的,现在社区推荐使用 MariaDB,所以我们可以去安装一下 MariaDB ,用它代替 MySQL 。

sudo yum install mariadb101u-server -y

如果出现冲突的提示,是因为系统本身自带 MariaDB,我们需要先删除掉系统本身带的,才能正常安装比较新的。一般可以这样来删除:

sudo yum remove mariadb-libs -y

启动

sudo systemctl start mariadb

开机自启动

sudo systemctl enable mariadb

安全配置

然后我们需要简单配置一下 mysql ,默认安装以后 mysql 的 root 用户是没有密码的,对于生产环境来说,这肯定是不行的,另外还有一些安全相关的设置,可以使用下面这行命令去配置一下,它是一个向导,问你一些问题,你要给出答案,比如是否要设置 root 用户的密码, 密码是什么等等。

mysql_secure_installation

Enter current password for root (enter for none):

解释:输入当前 root 用户密码,默认为空,直接回车。

Set root password? [Y/n] y

解释:要设置 root 密码吗?输入 y 表示愿意。

Remove anonymous users? [Y/n] y

解释:要移除掉匿名用户吗?输入 y 表示愿意。

Disallow root login remotely? [Y/n] y

解释:不想让 root 远程登陆吗?输入 y 表示愿意。

Remove test database and access to it? [Y/n] y

解释:要去掉 test 数据库吗?输入 y 表示愿意。

Reload privilege tables now? [Y/n] y

解释:想要重新加载权限吗?输入 y 表示愿意。

目录与文件的权限问题

网站上面有些目录或文件需要有写入权限,这样你得为这些目录和文件分配合适的权限,一般可以把它们的拥有者设置成 php-fpm 使用的用户,查看一下谁在运行 php-fpm 这个服务:

sudo ps aux|grep php

修改所使用的用户,php-fpm 的配置文件是:/etc/php-fpm.conf,还有在 /etc/php-fpm.d/* 这个目录里的所有文件都是 php-fpm 的配置文件。默认这个目录里有一个 vim 命令:

vim /etc/php-fpm.d/www.conf

打开文件以后你可以搜索下关键词 user ,输入 :/user ,会搜索到结果,按小 n 可以继续向下查找,按大 N 可以向上查找。直到你看到:

user = php-fpm

这个 php-fpm 就是运行 PHP-FPM 的用户的名字,你看到的也可能是其它的名字,这不重要。你只要知道这个用户是谁,在哪里可以修改这个用户就行了。在遇到目录写入权限的问题,比如不能正常上传网站的文件,你可以把保存上传文件的那个目录的拥有者修改成运行 PHP-FPM 的用户就可以了。

修改目录的拥有者可以使用这样的命名:

sudo chown -R 用户名 目录

这样就会把指定的目录的拥有者修改成指定的用户了。也就是如果你把目录的拥有者修改成运行 PHP-FPM 的那个用户,那么在网站上再去上传文件就不会有权限的问题了,因为目录的拥有者一般都会拥有可以写入的权限。

timg (4).jpg

有没有对你起到帮助呢!不懂的可以咨询:WX:nxy18336033555 QQ:1264512198 加的时候备注一下哦!~

阿里云centos7配置php mysql_阿里云centos7安装NGINX+MYSQL+PHP-FPM环境相关推荐

  1. 阿里云apache配置php mysql_阿里云CentOS7搭建Apache+PHP+MySQL环境

    最近要搭建一个阿里云的LMAP环境,选了CentOS7来做搭建. 1.Apache Centos7默认已经安装httpd服务,只是没有启动. 如果你需要全新安装,可以yum install -y ht ...

  2. mac怎么配置php开发环境变量,Mac M1安装mnmp(Mac+Nginx+MySQL+PHP)开发环境

    之前刚装好了 HomeBrew ,接下来就要安装 环境了. 注意:如果 brew install 出以下错误, 则安装时使用arch -arm64 brew install软件包名 进行安装 安装 N ...

  3. LNMP(linux+nginx+mysql+php)服务器环境配置

    LNMP(linux+nginx+mysql+php)服务器环境配置 一.简介 Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为 "engine X", ...

  4. 阿里云centos7自带mysql_阿里云CentOS7部署MySql8.0

    本文主要介绍了阿里云CentOS7如何安装MySql8.0,并对所踩的坑加以记录; 环境.工具.准备工作 服务器:阿里云CentOS 7.4.1708版本; 客户端:Windows 10; SFTP客 ...

  5. 阿里云配置php mysql_阿里云Windows 2008一键安装包配置php web环境图文安装教程(IIS+Php+Mysql)...

    集成包下载地址: 集成包版本介绍: IIS7组件.FTP7.php 5.5.7.mysql 5.6.15.phpMyAdmin 4.1.8.phpwind 9.0.ISAPI_Rewrite 安装包: ...

  6. 阿里云 服务器 系统 php mysql_阿里云服务器配环境(Ubuntu 16.04+Nginx+MySQL+PHP)并部署hexo博客...

    购买服务器 阿里云向学生出售优惠价格的服务器,一个月只需9.5块,具体配置看图吧 更新Ubuntu源,安装Git 1 2 3sudo apt update sudo apt upgrade sudo ...

  7. python 写linux mysql_(linux)python之mysql数据库操作环境搭建

    刚搭建完redis的环境累个半死,刚又弄了一个mysql的环境,遇到多种问题先简单记录,以备不时之需 1.首先mysql.python环境肯定要有吧! 假定mysql安装在/usr/local/mys ...

  8. mysql5.7免安装教程,配置my.ini详解,安装卸载mysql服务,开启远程登录,修改mysql密码

    一.下载mysql免安装版本(此文档下载版本5.7.36) 1.下载链接:https://downloads.mysql.com/archives/community/ 2.版本可按需选择:此处选择下 ...

  9. 阿里云自带的mysql_阿里云Centos使用自带mysql

    ---查看.设置服务(以firewalld服务为例) 从centos7开始使用systemctl来管理服务和程序,包括了service和chkconfig 启动一个服务:systemctl start ...

最新文章

  1. 将Eclipse中Web项目打成war包
  2. Spring Boot整合Spring Data JPA操作数据
  3. 轻松上云系列之一:本地数据迁移上云
  4. python装饰器原理-Python装饰器完全解读
  5. mysql闪退或者can not connect 127.0.0.1
  6. Android内容提供程序
  7. 小程序 常用快捷键
  8. Spring Boot Serverless 实战系列“架构篇” | 光速入门函数计算
  9. 关于相对布局RelativeLayout的各种属性介绍
  10. vba将select的值直接赋给变量
  11. (数据库系统概论|王珊)第十章数据库恢复技术-第一、二节:事务的基本概念和数据库恢复概述
  12. delphi 发送网络消息_《新手学习ISO网络模型》(1)如何直观理解物理层?
  13. c语言成绩管理系统不用结构体,不用指针链表和结构体数组怎么编学生成绩管理系统啊...
  14. utilities(C++)——单例(Singleton)
  15. 批量执行newman
  16. 台达PLC解密次数限制
  17. Android端测试工具有哪些,android移动app测试几款移动端测试工具分享
  18. 图像相似度对比分析软件,图像相似度计算方法
  19. 樱桃键盘驱动linux,樱桃键盘mx board9.0驱动
  20. 《程序员之禅》一一1.1 我如何学习打坐

热门文章

  1. 拼多多店铺的先用后付|盛天海科技
  2. 浅谈二维码门禁在互联网的时代特色
  3. 少有人走的路--勇敢地面对谎言
  4. ffmpeg下载安装,以及springboot 整合视频点播学习
  5. [赛后总结]G2022 Regular Contest 04总结
  6. rook 排错记录 + Orphaned pod found kube-controller-manager的日志输出
  7. 简洁大气留白风格源码资源站 emlog模板
  8. 微信小程序系列4——传值详解
  9. Cocos Creator 入门笔记
  10. 汉语计算机语言,从计算机编程语言说汉语的比较优势