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

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

linux

注意:

  • 上面的ONBOOT选项修改成yes
  • 设置IP为静态的:如下
    linux

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

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

ip addr
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

<?php

phpinfo()

运行/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文件了。

参考

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,905评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,140评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,791评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,483评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,476评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,516评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,905评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,560评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,778评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,557评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,635评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,338评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,925评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,898评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,142评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,818评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,347评论 2 342

推荐阅读更多精彩内容