• nginx
•  
• php
•  
• 服务器
•  
• mysql
•  
• 防火墙
•  
• ECS
•  
• 数据库
•  
• path
•  
• yum
• 配置
•  
• ftp
•  
• Server
•  
• Mariadb
•  
• grant
•  
• 安装纯净版centos7.4LNMP
yum 安装依赖(很重要) yum -y install php-mcrypt libmcrypt-devel libxml2 libxml2-devel curl-devel libjpeg-devel libpng-devel freetype-devel libmcrypt-devel libxslt libxslt-devel cyrus-sasl-plain cyrus-sasl cyrus-sasl-devel cyrus-sasl-lib m4 autoconf gcc gcc-c++ openssl openssl-devel pcre pcre-devel zlib zlib-devel wget net-tools zip unzip bzip2
下载必要安装包 wget -O nginx-1.12.1.tar.gz https://nginx.org/download/nginx-1.12.1.tar.gz //nginx 安装包
wget -O php-7.2.tar.gz http://cn2.php.net/get/php-7.2.3.tar.gz/from/this/mirror //php7.2安装 1 安装nginx 1.1 解压编译安装nginx(安装在/server/nginx目录下) tar zxvf nginx-1.12.1.tar.gz //解压
cd nginx-1.12.1/ //进入解压后的目录,###下面的代码复制每行行尾会有空格,请自行复制到文本编辑中去掉
./configure \
--prefix=/server/nginx \
--pid-path=/server/var/nginx/nginx.pid \
--lock-path=/server/var/nginx/nginx.lock \
--error-log-path=/server/var/nginx/error.log \
--http-log-path=/server/var/nginx/access.log \
--with-http_gzip_static_module \
--with-http_stub_status_module \
--with-http_ssl_module
1.2安装 make && make install 1.3 安装完成后,开启nginx 服务 /server/nginx/sbin/nginx 1.3.1 可以将nginx 命令加入环境变量中,方便使用(此三步可以忽略) vi /etc/profile 1.3.2 在文件末尾加入 export PATH="$PATH:/server/nginx/sbin" 1.3.3 保存退出后,使之立即生效 source /etc/profile 1.4 访问IP地址,如果没出现nginx欢迎页面,则开通防火墙80端口 查看防火墙状态 firewall-cmd --state 打开80端口 firewall-cmd --zone=public --add-port=80/tcp --permanent 命令含义: --zone #作用域
--add-port=80/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效
重启防火墙 firewall-cmd --reload 防火墙常用命令介绍 firewall-cmd --state ##查看防火墙状态,是否是running
firewall-cmd --reload ##重新载入配置,比如添加规则之后,需要执行此命令
firewall-cmd --get-zones ##列出支持的zone
firewall-cmd --get-services ##列出支持的服务,在列表中的服务是放行的
firewall-cmd --query-service ftp ##查看ftp服务是否支持,返回yes或者no
firewall-cmd --add-service=ftp ##临时开放ftp服务
firewall-cmd --add-service=ftp --permanent ##永久开放ftp服务
firewall-cmd --remove-service=ftp --permanent ##永久移除ftp服务
firewall-cmd --add-port=80/tcp --permanent ##永久添加80端口
iptables -L -n ##查看规则,这个命令是和iptables的相同的
man firewall-cmd ##查看帮助
firewall-cmd --list-ports ##查看防火墙开启的端口
至此nginx安装完成
2 安装PHP7
2.1 解压编译安装php7(安装目录/server/php7)
tar zxvf php-7.2.tar.gz //解压 cd php-7.2.3 //进入安装目录 ###下面的代码复制每行行尾会有空格,请自行复制到文本编辑中去掉 ./configure --prefix=/server/php7 \
--with-config-file-path=/server/php7/etc \
--with-curl \
--with-gd \
--with-gettext \
--with-iconv-dir \
--with-kerberos \
--with-libdir=lib64 \
--with-libxml-dir \
--with-openssl \
--with-pcre-regex \
--with-pdo-sqlite \
--with-pear \
--with-xmlrpc \
--with-xsl \
--with-zlib \
--enable-fpm \
--enable-bcmath \
--enable-libxml \
--enable-inline-optimization \
--enable-mbregex \
--enable-mbstring \
--enable-opcache \
--enable-pcntl \
--enable-shmop \
--enable-soap \
--enable-sockets \
--enable-sysvsem \
--enable-xml \
--enable-zip \
--enable-static \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--disable-debug \
--disable-fileinfo \
--enable-maintainer-zts
2.2 安装 make && make install 时间较长(根据机器性能决定,1G1核 大概在15分钟)
2.3 安装完成后,将php加入环境变量,添加php配置文件 cp php.ini-production /server/php7/etc/php.ini //添加配置文件 vi /etc/profile //编辑环境变量文件 在文件中添加 export PATH="$PATH:/server/php7/bin" 使改动立即生效 source /etc/profile  查看php版本 php -v 2.4 配置php-fpm cp /server/php7/etc/php-fpm.conf.default /server/php7/etc/php-fpm.conf
cp /server/php7/etc/php-fpm.d/www.conf.default /server/php7/etc/php-fpm.d/www.conf
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm //添加执行权限
启动php-fpm /etc/init.d/php-fpm start 至此php7安装完成
3 yum安装mariadb 10
3.1 添加仓库 vi /etc/yum.repos.d/MariaDB.repo 文件中添加代码 [mariadb]
name = MariaDB
baseurl = https://mirrors.ustc.edu.cn/mariadb/yum/10.2/centos7-amd64
gpgkey=https://mirrors.ustc.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck=1
注:以上的源,如果无效,则使用下方官网的源 [mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1 3.2 编辑保存退出后,安装 yum install -y MariaDB-server MariaDB-client 3.3 安装成功后启动 systemctl start mariadb //启动程序 systemctl enable mariadb // 自启动 systemctl status mariadb //查看状态 3.4 配置mariadb 设置Root 用户的登陆密码 mysql_secure_installation 根据命令提示,主要是做以下几件事情:
设置root密码
是否禁止远程 root访问
是否禁止 test数据库的访问
是否禁用匿名用户
是否重新加载privilleges-table信息
初始化完成后,登录测试 mysql -uroot -p //代表你之前初始化设置的密码 exit命令可以退出 配置字符集 vi /etc/my.cnf 在[mysqld]标签下添加 init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
vi /etc/my.cnf.d/mysql-clients.cnf 在[mysql]中添加 default-character-set=utf8 全部配置完成,重启mariadb systemctl restart mariadb 之后进入MariaDB查看字符集 mysql -uroot -p //代表密码 mysql> show variables like "%character%";show variables like "%collation%"; // 至此mariadb 安装完成。但是如果想要外面能访问此数据库,如想使用navicat来连接到这个数据库,则还要其它的配置,您往下看
首先开放防火墙端口,开启后要重启防火墙: firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
mysql>create user username@localhost identified by 'password'; 直接创建用户并授权的命令 mysql>grant all on . to username@localhost identified by 'password'; 授予外网登陆权限 ,这里授权用户可以外网访问此数据库,如用数据库连接工具navicat连接 mysql>grant all privileges on . to username@'%' identified by 'password'; 授予权限并且可以授权 mysql>grant all privileges on . to username@'hostname' identified by 'password' with grant option; 简单的用户和权限配置基本就这样了。

其中只授予部分权限把 其中 all privileges或者all改为select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file其中一部分。