阿里云服务器纯净版centos7.4 LNMP安装

发布于 2019-07-12  3.63k 次阅读


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其中一部分。

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安装包