1.更新yum源

yum -y update

2. 安装 epel-release

yum install epel-release -y

检测安装成功:yum search nginx  结果含有:nginx.x86_64 : A high performance web server and reverse proxy server 表示成功

CentOS 系列的服务器系统有一个毛病,就是官方自带的源的软件比较古老,并且很多的软件都没有。因为他们的首要任务是保证服务器的稳定,而不是追求最新。但是太过于保守了,一般来说,我们会给服务器添加一个 epel-release 这个源。这个源里包含了例如 nginx 之类的我们需要的软件,使用起来比较方便。

3.安装服务器常用软件

yum -y install vim*

Vim是一个类似于Vi的著名的功能强大、高度可定制的文本编辑器

yum install wget

wget 是一个从网络上自动下载文件的自由工具,支持通过 HTTP、HTTPS、FTP 三个最常见的 TCP/IP协议 下载,并可以使用 HTTP 代理。

yum -y install lrzsz

lrzsz是一款在linux里可代替ftp上传和下载的程序。

yum install zip unzip

作用:zip压缩、unzip解压缩

4.安装Nginx

nginx 依赖的一些 lib 库:

yum install gcc-c++
yum install pcre pcre-devel
yum install zlib zlib-devel
yum install openssl openssl--devel 

安装 Nginx

cd /usr/local

打开 usr 下的 local 文件夹

yum install nginx -y

安装Nginx,此安装的包已经是更新过的源

systemctl start nginx

启动 nginx

systemctl enable nginx

将 nginx 设置为开机启动

完成安装在浏览器访问主机 ip ,看看是否能打开。

5.安装PHP7

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

安装php7的rpm包

yum search php7

查询下自己的php7是哪个版本以及扩展库,例如:php70w、php71w、php72w、php70w-fpm等

yum install php70w

以自己的包为准

yum install php70w-openssl php70w-common php70w-fpm php70w-mysql php70w-mysqld php70w-pdo

安装PHP7的扩展库的版本号和PHP7的版本对应,也就是 php70w 的版本对应同版本的扩展库 php70w-fpm等。

6.安装Mysql

wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm

下载mysql源安装包

rpm -ivh mysql57-community-release-el7-8.noarch.rpm

安装mysql源

yum -y install mysql-server

安装mysql

service mysqld start

systemctl start mysqld

启动mysql服务器

systemctl status mysqld

查看mysql状态

systemctl enable mysqld
systemctl daemon-reload

开机启动

grep 'temporary password' /var/log/mysqld.log

mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。通过上面的方式找到root默认密码( :后面为密码),然后登录mysql进行修改

mysql -uroot -p

按回车,输入刚才的临时密码,进入mysql来修改密码

set global validate_password_policy=0;

mysql5.7默认安装了密码安全检查插件(validate_password),默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。否则会提示ERROR报错。

此处代码用来修改密码强度:0 or LOW(密码任意,但长度在 8 位或以上)。

set global validate_password_length=4;

设置的密码少于8位,请执行上述命令(最少是4)

set password for 'root'@'localhost'=password('新密码');

执行此代码修改mysql登陆密码

GRANT ALL PRIVILEGES ON *.* TO 'yourname'@'%' IDENTIFIED BY 'YourPassword@123' WITH GRANT OPTION;

添加远程登录用户,默认只允许root帐户在本地登录,如果要在其它机器上连接mysql,必须修改root允许远程连接,执行上述代码。

7.配置php、nginx

配置php

vim /etc/php.ini

修改 php.ini 把 cgi.fix_pathinfo 的值改为0 ,前面有 ;的话去掉,大约在763行,进入文件后  输入 :763 定位过去。

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

修改 www.cong 修改两处

listen.owner = nobody

listen.group = nobody

这两行前面的  ;去掉

user = apache
group = apache

将apache 更换成 nginx ,保存后退出( :wq )

systemctl start php-fpm

systemctl enable php-fpm

启动PHP,并将它设置为开机启动。

配置nginx

vim /etc/nginx/nginx.conf

打开配置文件

server {
  listen 80;
  server_name 127.0.0.1:9000;
  root /www/;
  index index.php index.html index.htm

  # Load configuration files for the default server block.
  include /etc/nginx/default.d/*.conf;

  location ~ \.php$ {

  fastcgi_pass 127.0.0.1:9000;
  fastcgi_param SCRIPT_FILENAME /www/$fastcgi_script_name;
  include fastcgi_params;
  }

  location / {
  }

  error_page 404 /404.html;
  location = /40x.html {
  }

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

依照这个格式改,listen 监听端口,server_name 项目网址(默认设置127.0.0.1:9000),root 项目路径;  index 服务器按顺序找首页文件,前面的没有往后找,玩php就可以把 index.php放前面。

localtion 中把 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 中的 $document_root 改为 项目地址。

在项目文件路径下写个 info.php

<?php

echo phpinfo()

?>

保存退出后,在浏览器输入主机外网 ip/info.php ,查看下是否成功。

Centos搭建开发环境,PHP7+ Nginx1.12+ Mysql5.7的更多相关文章

  1. Win10 Hyper-v 中安装 CentOS 搭建开发环境

    Windows 环境 操作系统:Windows 10 开发环境:VS2005(需启动.NET Framework 3.5 ,才能正常安装使用)  Linux 环境 发行版:CentOS 7_x64 安 ...

  2. Centos 基础开发环境搭建之Maven私服nexus

    hmaster 安装nexus及启动方式 /usr/local/nexus-2.6.3-01/bin ./nexus status Centos 基础开发环境搭建之Maven私服nexus . 软件  ...

  3. Sublime Text3 + Golang搭建开发环境

    Sublime Text3 + Golang搭建开发环境 http://blog.csdn.net/aqiang912/article/details/46775409 1.安装git 因为golan ...

  4. Centos Android开发环境配置-Android Tools -android list sdk --extended --all

    Centos Android开发环境配置-Android Tools -android  list sdk --extended --all 安装完Android Tools后执行 android   ...

  5. 深入浅出Docker(五):基于Fig搭建开发环境

    概述 在搭建开发环境时,我们都希望搭建过程能够简单,并且一劳永逸,其他的同事可以复用已经搭建好的开发环境以节省开发时间.而在搭建开发环境时,我们经常会被复杂的配置以及重复的下载安装所困扰.在Docke ...

  6. webpack环境搭建开发环境,JavaScript面向对象的详解,UML类图的使用

    PS:因为所有的设计模式都是基于面向对象来完成的,所以在讲解设计模式之前先来过一下面向对象都有哪些知识点 搭建开发环境 初始化npm环境 下载安装nodejs安装即可,nodejs自带npm管理包,然 ...

  7. Android 程序分析环境搭建-开发环境搭建

    1.1  JDK 安装 JDK 的配置,初学java 开发,那是必须会的. 下载,遇到的问题就是要注册oracle 的账号,还有你要下载特定版本,比如jdk 1.7,jdk 1.6,很难找到在哪里.解 ...

  8. 和重复搭建开发环境说 Bye Bye 之Vagrant

    每每新同事入职,都要在自己电脑上配置一堆环境,费神费力:每每开发测试都要重新配置开发环境,手工搭建,步骤很繁琐,极易出错. 大神在时,大神搭建,大神不在,以手抚膺坐长叹.为此,VVVVVagrant横 ...

  9. 二、Electron + Webpack + Vue 搭建开发环境及打包安装

    目录 Webpack + Vue 搭建开发环境及打包安装 ------- 打包渲染进程 Electron + Webpack  搭建开发环境及打包安装 ------- 打包主进程 Electron + ...

随机推荐

  1. hdu 1010 回溯加奇偶性剪枝

    普通的剪枝会超时,必须加入奇偶性剪枝. 直接上图: AC代码: #include<cstdio> #include<cstring> #include<algorithm ...

  2. docker-compose 完整打包发布, 多服务,多节点SPRING CLOUD ,EUREKA 集群

    这里不再使用 端口映射的方式,因为不同主机上,Feign 根据 docker hostname访问会有问题. 把打包的好jar copy到docker镜像里 有几个服务,就复制几个dockerfile ...

  3. asp.mvc中的vue分页实例,分页组件无法重置reload,解决点击查询按钮后,分页不刷新的问题

    刚刚接触Vue.js,现在需要做一个查询功能,并且进行服务端分页.主要思路是在页面中注册一个分页组件,然后进行调用.代码如下 1.引用vue.js,具体去网上下载 2.在html的body中添加如下代 ...

  4. Android线上Bug热修复分析

    针对app线上修复技术,目前有好几种解决方案,开源界往往一个方案会有好几种实现.重复的实现会有造轮子之嫌,但分析解决方案在技术上的探索和衍变,这轮子还是值得去推动的 关于Hot Fix技术 Hot F ...

  5. R语言︱数据集分组、筛选(plit – apply – combine模式、dplyr、data.table)

    R语言︱数据集分组 大型数据集通常是高度结构化的,结构使得我们可以按不同的方式分组,有时候我们需要关注单个组的数据片断,有时需要聚合不同组内的信息,并相互比较. 一.日期分组 1.关于时间的包都有很多 ...

  6. MyEclipse弹出提示窗口

    MyEclipse弹出提示窗口 1.弹窗如下

  7. 错误代码: 1381 You are not using binary logging

    1.错误描述 1 queries executed, 0 success, 1 errors, 0 warnings 查询:show master logs 错误代码: 1381 You are no ...

  8. Codeforces Round #454 D. Seating of Students

    分三类 1 1: 一个就好了 3 3:特殊讨论下 或 : 第一行奇序号的数放前面,偶序号的数放后面,第二行奇序号的数放前面,偶序号的数放后面,第二行依次类推 有点难写,真的菜 #include< ...

  9. Vue 非父子组件通信方案

    Vue 非父子组件通信方案 概述 在 Vue 中模块间的通信很普遍 如果是单纯的父子组件间传递信息,父组件可以使用 props 将数据向下传递到子组件,而在子组件中可以使用 events (父组件需要 ...

  10. 【BZOJ3992】序列统计(动态规划,NTT)

    [BZOJ3992]序列统计(动态规划,NTT) 题面 BZOJ 题解 最裸的暴力 设\(f[i][j]\)表示前\(i\)个数,积在膜意义下是\(j\)的方案数 转移的话,每次枚举一个数,直接丢进去 ...