Centos7 LN(A)MP环境搭建

LAMP/LNMP环境搭建

LAMP分别代表Linux、Apache、MySQL、PHP。
LNMP分别代表Linux、Nginx、MuSQL、PHP。

编译安装:Linux安装软件时的重要方式之一。
将下载的软件源代码进行编译,然后安装。

  • 编译前的准备工作:
./configure
  • 编译:
make
  • 安装:
make install

源安装:比如在CentOS中的yum

安装Linux

在这里我们使用virtualbox这个虚拟机来安装Linux

设置网卡

在终端使用打开配置文件:

vi /etc/sysconfig/network-scripts/ifcfg-enp0s3

按下 回车后会出现以下界面:

Centos7 LN(A)MP环境搭建_第1张图片
linux

注意:

  • 上面的ONBOOT选项修改成yes
  • 设置IP为静态的:如下
    Centos7 LN(A)MP环境搭建_第2张图片
    linux

    配置完成后重启启动服务:
sudo systemclt reatart network.service

然后我们来验证我们的IP是否设置成功:

ip addr
Centos7 LN(A)MP环境搭建_第3张图片
linux

看到上面标红的区域,跟我们设置的IPADDR一样了,说明我们的IP配置成功了。

现在我们就可以使用远程的机器来登录这台电脑了,不过在这之前得让防火墙运行远程的电脑登录。

开启防火墙

sudo firewall-cmd --zone=public --add-port=22/tcp --permanent

提示success就说明已经打开成功。但这仍然不够,还需要重启防火墙:

sudo systemclt restart firewalld.service

安装PHP

使用wget安装php(若没有安装wget,使用sudo yum install wget安装):

1. 下载php

我们可以在php的官网找到php的下载路径,然后使用wget命令下载php

wget http://hk1.php.net/get/php-7.1.3.tar.gz/from/this/mirror

2. 解压下载好的mirror

使用tar命令来解压我们的mirror

tar -zxvf mirror

3. 安装gccgcc++libxml2-devel

sudo yum install gcc gcc++ libxml2-devel

4. 配置./configure

我们需要进入php的解压目录,并进行配置:

cd php-7.1.3
./confgure --prefix=/usr/local/php7 --enable--fpm

5. 编译

使用make命令进行编译:

make

6. 安装php

编译完成后,我么使用make install来进行安装:

sudo make install

7. 测试安装是否成功

现在我们安装完成了,但是我们的测试是否安装成功:

进入自己的home目录:

cd ~

新建一个test.php

运行/usr/local/php7/bin/php test.php
如果运行成功了,会返回php的配置信息。

这样php就已经安装完成了。

安装mysql

使用rpm安装mysql 5.7.*

1. 配置yum

MySQL官网下载YUM源rpm安装包:http://dev.mysql.com/downloads/repo/yum/

选择指定的版本后,点击Download,复制下载的路径

然后在终端执行:

wget https://dev.mysql.com/get/mysql57-community-release-el6-9.noarch.rpm

2. 使用yum安装mysql源

sudo yum localinstall mysql57-community-release-el7-9.noarch.rpm

检查mysql源是否安装成功

yum repolist enabled | grep "mysql.*-community.*"

运行上面的命令之后,会出现以下的结果:

[openoter@localhost ~]$ yum repolist enabled | grep "mysql.*-community.*"
mysql-connectors-community/x86_64        MySQL Connectors Community           30
mysql-tools-community/x86_64             MySQL Tools Community                43
mysql57-community/x86_64                 MySQL 5.7 Community Server          166

出现类似上面的内容,说明mysql已经安装成功。

3. 安装mysql

sudo yum install mysql-community-server

4. 启动mysql

systemctl start mysqld

查看mysql的启动状态

systemctl status mysqld

运行完成后,会出现以下的内容:

● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since 六 2017-03-25 16:51:46 CST; 13s ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Process: 2885 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS)
  Process: 2811 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
 Main PID: 2888 (mysqld)
   CGroup: /system.slice/mysqld.service
           └─2888 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid

如果结果包含Active: active (running),说明mysql启动成功了。

5. 开机启动

sudo systemctl enable mysqld
sudo systemctl daemon-reload

6. 修改root默认密码

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

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

运行完上面的代码,会出现以下的结果:

2017-03-25T08:51:37.548507Z 1 [Note] A temporary password is generated for root@localhost: g+r*gXri_5up

结果中的g+r*gXri_5up就是mysql的临时密码:

登录mysql,修改密码

mysql -uroot -p
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!'; 

注意:mysql5.7默认安装了密码安全检查插件(validate_password),默认密码检查策略要求密码必须包含:

  • 大小写字母、数字和特殊符号
  • 且长度不能少于8位

否则会报以下错误:

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

密码策略

我们可以通过以下命令来查看密码策略相关的信息:

show variables like '%password%';

上面的代码会出现以下的结果:

+---------------------------------------+--------+
| Variable_name                         | Value  |
+---------------------------------------+--------+
| default_password_lifetime             | 0      |
| disconnect_on_expired_password        | ON     |
| log_builtin_as_identified_by_password | OFF    |
| mysql_native_password_proxy_users     | OFF    |
| old_passwords                         | 0      |
| report_password                       |        |
| sha256_password_proxy_users           | OFF    |
| validate_password_check_user_name     | OFF    |
| validate_password_dictionary_file     |        |
| validate_password_length              | 8      |
| validate_password_mixed_case_count    | 1      |
| validate_password_number_count        | 1      |
| validate_password_policy              | MEDIUM |
| validate_password_special_char_count  | 1      |
+---------------------------------------+--------+
  • validate_password_policy : 密码策略,默认为MEDIUM策略
  • validate_password_dictionary_file: 密码策略文件,策略为STRONG才需要
  • validate_password_length:密码最少长度
  • validate_password_mixed_case_count : 大小写字符长度,至少1个
  • validate_password_number_count:数字至少1个
  • validate_password_special_char_count:特殊字符至少1个

这就是默认的策略MEDIUM策略的密码检查规则。

关于密码策略请查看mysql官网:http://dev.mysql.com/doc/refman/5.7/en/validate-password-options-variables.html#sysvar_validate_password_policy

修改密码策略

/etc/my.cnf文件添加validate_password_policy配置,指定密码策略。

# 选择0(LOW),1(MEDIUM),2(STRONG)其中一种,选择2需要提供密码字典文件
validate_password_policy=0

如果不需要密码策略,添加my.cnf文件中添加如下配置禁用即可:

validate_password = off

重新启动mysql服务使配置生效:

systemctl restart mysqld

就这样,我们的mysql就已经安装完成了。

7. 添加远程登录用户

默认只允许root帐户在本地登录,如果要在其它机器上连接mysql,必须修改root允许远程连接,或者添加一个允许远程连接的帐户,为了安全起见,我添加一个新的帐户:

mysql> GRANT ALL PRIVILEGES ON *.* TO 'openoter'@'%' IDENTIFIED BY '12345' WITH GRANT OPTION;

安装apache

1. 下载apche

首先我们来到apache的官网找到http下载的下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache/httpd/

我们在命令行中使用wget下载:

wget https://mirrors.tuna.tsinghua.edu.cn/apache/httpd/httpd-2.4.25.tar.gz

2. 解压httpd-2.4.25.tar.gz压缩包

tar -zxvf httpd-2.4.25.tar.gz

解压完成后,在目录下面后多出httpd-2.4.25目录,使用cd命令进入里面。

3. 安装依赖包pcreaprapr-util

在http://apr.apache.org/download.cgi分别找到aprapr-util的下载地址。

http://www.pcre.org/找到pcre的源代码路径。

然后解压安装:

下载

wget http://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-1.5.2.tar.gz
wget http://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-util-1.5.4.tar.gz
wget https://ftp.pcre.org/pub/pcre/pcre-8.40.tar.gz

解压

tar -zxvf apr-1.5.2.tar.gz
tar -zxvf apr-util-1.5.4.tar.gz
tar -zxvf pcre-8.40.tar.gz

使用mv命名重名名

mv apr-1.5.2 apr
mv apr-util-1.5.4.tar.gz apr-util

aprapr-util剪切到httpd-2.4.25目录

mv apr par-util httpd-2.4.25/srclib

这样apr见处理完成了。

安装pcre

进入到pcre-8.40目录,并进行./configure

cd pcre-8.40
./configure --prefix=/usr/local/pcre

编译并安装:

make
sudo make install

4. 安装apche

进入httpd-2.4.25并进行安装。

配置

cd httpd-2.4.25
./configure --prefix=/usr/local/apache2 -with-pcre=/usr/local/pcre-8.40/bin/pcre-config -with-include-apr

编译并安装

make
sudo make instal

这样apache就安装好了。

5. 启动apche

进入apche的安装目录,并启动apche

cd /usr/local/apche2/bin
sudo acpchectl -k start

现在在浏览器中输入ip地址是不能访问我们配置的,因为我们没有允许防火墙进行访问80端口。

6. 开启防火墙

sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo systemctl restart firewalld.service

现在我们去浏览器访问就可以访问了。(通过ip地址)

安装nginx

1. 下载nginx

我们打开nginx.org,找到下载的nginx链接:http://nginx.org/en/download.html

wget http://nginx.org/download/nginx-1.10.3.tar.gz

2. 解压

tar -zxvf nginx-1.10.3.tar.gz

4. 配置并安装

进入nginx-1.10.3目录

cd nginx-1.10.3
./configure --prefix=/usr/local/nginx --with-pcre=../pcre-8.4
make
make install

这样nginx就安装成功了。

5. 启动nginx

我们进入到nginx的安装目录:

cd /usr/local/nginx/sbin

终止httpd的进程

# 查看http的启动情况,获取进程的id
ps aux | grep httpd
sudo kill -9 18728 18729

启动nginx

sudo ./nginx

这样我们的nginx就启动了,然后我们在浏览器中输入你的ip地址来进行访问,如果能够出现nginx的欢迎界面,则拜师nginx已经启动成功了。

6. 配置nginx

启动php-fpm
配置nginx之前,我们需要启动php中的php-fpm

cd /usr/local/php7/etc
# 重命名
sudo mv php-fpm.conf.default php-fpm.conf
cd php-fpm.d
sudo mv www.conf.default www.conf

# 进入/usr/local/php7/sbin,启动php-fpm
cd /usr/local/php7/sbin
sudo ./php-fpm

配置nginx
我们打开配置文件:

cd /usr/local/nginx

sudo vim conf/nginx.conf

打开localtion ~ \.php的配置注释,并进行一些修改。

location ~ \.php$ {
     root           html;
     fastcgi_pass   127.0.0.1:9000;
     fastcgi_index  index.php;
     fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
     include        fastcgi_params;
     include fastcgi.conf;
}

然后启动nginx

cd sbin
sudo ./nginx

然后我就可以在浏览器中输入ip地址后访问php文件了。

参考

  • http://www.imooc.com/learn/703

你可能感兴趣的:(Centos7 LN(A)MP环境搭建)