CentOS 7系统安装nginx+php+mysql

文章背景

本文章是自己在配置服务器环境的时候摸索总结的方法,都是自己亲测可用的,在此做个分享。免得时间长了,忘记了。文章写于一年前,个人服务器关闭才搬迁到这里的。

安装介绍

  1. 系统环境CentOS7
  2. nginx版本1.12
  3. PHP版本7.2 下载地址
  4. MySQL版本5.7

安装nginx

  1. 添加centos7的 nginx yum源 然后执行安装
sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
sudo yum install -y nginx
  1. 启动nginx
sudo systemctl start nginx.service
  1. 访问本机IP如果出现下面的界面表示安装成功

CentOS 7系统安装nginx+php+mysql_第1张图片

  1. 设置nginx开机自动启动
sudo systemctl enable nginx.service             #设置开机启动
systemctl is-enabled nginx.service;echo $?      #显示 enbaled 则设置开机启动成功

安装MySQL

  1. 下载 MySQL Yum 源 下载到任意位置并且添加 MySQL Yum 源
wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm   
yum localinstall mysql-community-release-el7-5.noarch.rpm -y
  1. 查看MySQL安装包中的版本
yum repolist all | grep mysql
  1. 可以看到默认开启的是 MySQL5.6,因为要使用 MySQL5.7 所以需要修改启用的版本,执行如下编辑
vi /etc/yum.repos.d/mysql-community.repo

打开文件看到如下代码

[mysql56-community]
 name=MySQL 5.6 Community Server
 baseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/7/$basearch/
 enabled=1
 gpgcheck=1
 gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

其中 enabled=0 是指禁用, enabled=1 指启用, 任何时候,只能启用一个版本。修改 5.6 为禁用,启用 5.7,即修改[mysql56-community]下的 enabled=0[mysql57-community] 下的 enabled=1

关闭文件后再次执行 yum repolist all | grep mysql 可以发现5.7版本的打开了

  1. 安装MySQL
yum install mysql-community-server -y

此处的安装需要等待一段时间,若网速慢则需要的时间更长.

  1. 安装完毕执行下面的代码,可以查看安装的 MySQL 的详细信息
rpm -qi mysql-community-server.x86_64 0:5.6.24-3.el7 #查看详细信息
systemctl start  mysqld     #启动 MySQL
systemctl status  mysqld    #查看 MySQL 状态
systemctl stop mysqld       #关闭mysql
  1. 密码设置 登录 MySQL,如果登录提示需要密码则执是因为 MySQL 自动生成了一个随机密码在 /var/log/mysqld.log 中,执行grep "password" /var/log/mysqld.log获取密码。 成功登录则代表 MySQL 安装成功。 由于登陆密码是默认密码是不允许直接使用的需要修改root密码,数据库中执行 SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass'); 修改密码,newpass表示自己设置的新密码,对密码要求包含数字、大小写字母、特殊符号四种,否则不能通过
  2. 设置MySQL字符集,修改/etc/my.cnf文件
 [mysqld]
 character_set_server = utf8    #注意写在[mysqld]下面,不能随便放,下面的同理
 [mysql]
 default-character-set = utf8
  1. 重启 MySQL,登录执行 SHOW VARIABLES LIKE 'character%';命令,可以看到字符集已经变成 UTF-8

PHP安装

  1. 安装依赖
yum -y install gcc gcc-c++ libxml2 libxml2-devel autoconf automake pcre-devel zlib zlib-devel  bzip2 bzip2-devel openssl openssl-devel libcurl-devel libjpeg-devel libpng-devel freetype-devel readline readline-devel libxslt-devel perl perl-devel psmisc.x86_64 recode recode-devel curl-devel expat-devel gettext-devel zlib-devel 

以上的依赖包有这个可能安装不了libmcrypt libmcrypt-devel libtidy libtidy-devel,貌似也没有影响

  1. 下载PHP源码并解压 (由于受网络影响,下载速度肯能很慢,这个和人品有关)
mkdir /home/download && cd /home/download #下载到任何地方都可以
wget http://cn2.php.net/distributions/php-7.2.0.tar.gz #当时下载的7.2,可下载更高版本
tar -zxvf php-7.2.0.tar.gz
  1. 开始编译
cd php-7.2.0
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-opcache --with-gd --with-iconv --with-zlib --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --enable-mbregex --enable-fpm  --enable-mbstring --enable-ftp --enable-gd-native-ttf --enable-pcntl --enable-calendar --with-openssl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --with-gettext --with-curl --with-jpeg-dir --with-freetype-dir --with-mysqli --enable-embedded-mysqli --with-pdo-mysql 
  1. 编译完成后执行安装,安装过程耗时较长
make && make install
  1. 生成 PHP 配置
sudo cp php.ini-production /usr/local/php/etc/php.ini
sudo cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
sudo chmod +x /etc/init.d/php-fpm
sudo cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
sudo cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
sudo cp /usr/local/php/bin/php /usr/bin/php
  1. 查看PHP版本,执行/usr/local/php/bin/php -v 显示下面的结果表示安装完成
PHP 7.1.4 (cli) (built: May  1 2017 00:26:16) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
  1. 配置 Nginx
server {
     listen       80 default_server;
     listen       [::]:80 default_server;
     server_name  _;                                            #这里可以配置域名
     root         /var/www;                                     #这里配置项目目录
     index index.php index.html index.htm;
     # Load configuration files for the default server block.
     include /etc/nginx/default.d/*.conf;
     location / {
         try_files $uri $uri/ /index.php?$query_string;
     }
     error_page 404 /404.html;
         location = /40x.html {
     }
     error_page 500 502 503 504 /50x.html;
         location = /50x.html {
     }
     location ~ \.php$ {
         root           /var/www;                              #这里配置项目目录和上面一样
         fastcgi_pass   127.0.0.1:9000;
         try_files $uri /index.php =404;
         fastcgi_split_path_info ^(.+\.php)(/.+)$;
         fastcgi_index  index.php;
         fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
         include        fastcgi_params;
     }
  }
  1. 重启服务完成所有配置
service nginx restart    #重启 Nginx
service php-fpm restart  # 重启 php-fpm

你可能感兴趣的:(环境搭建)