搭建LNMP环境
本机环境:
操作系统:Mac os 10.12.1
虚拟机:Vmware Fusion 7.1
服务器环境:
操作系统:CentOS linux 7-x86_64
nginx version: nginx/1.0.13
Server version: 5.6.29 MySQL Community Server
PHP 5.6.30
1.安装CentOS7.3
CentOS 是一个基于Red Hat Linux 提供的可自由使用源代码的企业级Linux发行版本。每个版本的 CentOS都会获得十年的支持(通过安全更新方式)。新版本的 CentOS 大约每两年发行一次,而每个版本的 CentOS 会定期(大概每六个月)更新一次,以便支持新的硬件。这样,建立一个安全、低维护、稳定、高预测性、高重复性的 Linux 环境。[1] CentOS是Community Enterprise Operating System的缩写。 —— [ 百度百科 ]
1.2 Centos7下载地址
官网:http://www.centos.org/download/
1.3 安装linux
注:具体虚拟机引入镜像安装系统在此不做解释… 根据步骤安装就好了,安装完成后,配置网络,本次不在linux上直接操作,我们通过mac本机系统ssh远程连接服务器进行之后的所以操作。
1.4 配置网络
####1.4.1
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens0
# *必填
修改添加:BOOTPROTO=static # *使用静态地址
IPADDR=10.21.1.20 # *ip地址
NETMASK=255.255.255.0 # *子网俺码
NETWORK=10.21.1.0
NM_CONTROLLED=no # *
ONBOOT=“yes” # *
保存退出;
重启网卡:
[root@localhost ~]# systemctl restart network.service
或者
[root@localhost ~]# service network restart
####1.4.3 设置网卡为桥接模式
注:ping 下查看是否可以访问外网,如果不行。请执行以下操作。
添加默认网关 (临时的,但重启后就没了)
[root@localhost ~]# route add default gw 10.21.1.1
或:添加默认网关【永久】
[root@localhost ~]# vi /etc/sysconfig/network
GATWAY=10.21.1.1 #增加
####1.4.4 开启防火墙22端口
[root@localhost ~]# firewall-cmd —-zone=public —add-port=22/tcp —-permanent
重启防火墙
[root@localhost ~]# systemctl restartfirewalld.service
再次ping检查网络通了嘛。已通可通过ssh 10.21.1.43 远程连接服务器了。
###2.1 安装PHP
####2.1.1 先安装一些工具等 :
安装vim
[root@localhost src]# yum install vim
安装wget
[root@localhost src]# yum install wget
安装gcc gcc++ libxml2-devel 编译的时候使用的
[root@localhost src]# yum install gcc gcc++ libxml2-devel
####2.2.1 通过wget工具下载PHP5.6 并解压
[root@localhost src]# wget http://ca1.php.net/get/php-5.6.30.tar.gz/from/this/mirror
[root@localhost src]# tar -zxvf mirror #解压
####2.2.2 编译安装
[root@localhost src]# cd php5.6 #进入解压后的目录
[root@localhost src]# ./configure --prefix=/usr/local/php --enable-fpm && make && make install
–prefix=【安装目录】, —-enable-fpm【编译 PHP 时需要 --enable-fpm 配置选项来激活 FPM 支持。】
[root@localhost src]# php -v
####如果是这种情况请修改环境变量
vi /etc/profile 必要时可以修改环境变量
执行 命令source /etc/profile或 执行点命令 ./profile使其修改生效。
3.1 安装MySQL5.6.29
> 安装mysql有多种方式,现在官方新版mysql不支持configure 编译了,要使用cmake。我们使用rpm安装吧。
百度云盘:https://pan.baidu.com/s/1jHXVdrg
提取密码:2ryt
3.1.1 检查系统是否已经安装了mysql mariadb
[root@localhost src]# rpm -qa | grep -i mysql
[root@localhost src]# rpm -qa | grep -i mariadb
#####由于CentOS默认的数据库是mariadb,这个会和mysql冲突,所以一般都会先卸载一下
rpm -e mariadb-libs-1:5.5.44-2.el7.centos.x86_64 --nodeps
另外如果显示出来安装了的mysql,用以下命令卸载,如有多个用空格隔开多个rpm,如
[root@localhost src]# rpm -e mariadb-libs-1:5.5.44-2.el7.centos.x86_64 --nodeps
3.2.1 安装一些依赖
[root@localhost src]# yun install Perl
[root@localhost src]# yum install net-tools
[root@localhost src]# yum install -y perl-Module-Install.noarch
3.2.2 安装mysql头文件,服务器及客户端
[root@localhost src]# rpm -ivh MySQL-devel-5.6.29-1.rhel5.x86_64.rpm --nosignature
[root@localhost src]# rpm -ivh MySQL-server-5.6.29-1.rhel5.x86_64.rpm --nosignature
[root@localhost src]# rpm -ivh MySQL-client-5.6.29-1.rhel5.x86_64.rpm --nosignature
警告:MySQL-server-5.5.46-1.linux2.6.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
使用 --force --nodeps 安装
[root@localhost src]# rpm -ivh MySQL-devel-5.6.29-1.rhel5.x86_64.rpm --force --nodeps
OK, 安装一气呵成,没问题。
3.3 启动mysql服务
[root@localhost src]# service mysql start
可能会提示以下错误信息
[root@localhost src]# Failed to issue method call: Unit mysql.service failed to load: No such file or directory
[root@localhost src]# systemctl start mysql.service
如果好像还不行。。。再试下这个
[root@localhost src]# systemctl enable mysql.service
#####如果还出现问题
Starting MySQL. ERROR! The server quit without updating PID file (/var/lib/…)
#####到这里看看吧
MySQL提示:The server quit without updating PID file问题的解决办法
之前使用了mke、yum包括rpm安装一直会报错 mysql.sock找不到,哎,反复试了好多次,这个文件应该是开启mysql服务生成的,可以检查目录权限问题。之后索性卸载干净后,重新安装。这次清理干净所有mysql相关文件后。通过以上的操作安装成功了。嗨皮O(∩_∩)O
3.4 开启MySQL
bash mysql 不是命令
[root@localhost src]# mysql #启动mysql
bash :mysql 不是命令 #如果提示这个请查看环境变量,或者启动时加上路径, /usr/bin/mysql
OK,开启后登录mysql吧
[root@localhost src]# mysql -u root -p
(ーー゛)我去,密码默认不是空吗?坑了,进不去。使用root密码也进不去。后来发现在安装时提示我帮我生成了一个随机密码放在一个日志文件了。麻蛋!@
再试下
密码改掉吧- -
mysql> set password=password('123456');
Query OK, 0 rows affected (0.04 sec)
搞定,总结安装时候遇到问题不要怕,学会看日志文件。否则真是大海捞针。
4.1 安装Nginx1.0.13
[root@localhost local]# cd /usr/src/ #还是到这个目录吧,一般软件源码放在这个目录下
4.1.1 下载nginx并解压
[root@localhost src]# wget http://nginx.org/download/nginx-1.0.13.tar.gz #使用wget下载
[root@localhost src]# tar -zxvf nginx-1.0.13.tar.gz #解压
别急着安装,先把nginx有几个依赖包,我们首先安装依赖,不要安装过程中会报错
4.1.2 安装依赖包
[root@localhost src]# yum -y install zlib-devel pcre-devel openssl-devel
4.2 编译安装nginx
[root@localhost src]# cd nginx-1.0.13
[root@localhost nginx-1.0.13]# ./configure --prefix=/usr/local/nginx\ # 指定安装目录为/usr/local/nginx
--with-openssl=/usr/include/openssl\ # 启用ssl
--with-pcre\ # 启用正规表达式
--with-http_stub_status_module # 安装可以查看nginx状态的程序
[root@localhost nginx-1.0.13]# make && make install #编译安装
O__O "… 进展如此顺利直接安装成功!!!
4.3 启动nginx
[root@localhost nginx-1.0.13]# /usr/local/nginx/sbin/nginx # 重新启动服务
在工作环境无论是测试还是成产环境,推荐重新加载服务,也叫平滑重启服务,而不用重新启动服务。平滑重启过程不会关闭服务,只是将修改的内容重新加载。
推荐
[root@localhost nginx-1.0.13]# pkill -HUP nginx # 平滑重启服务
在客户端使用浏览器访问nginx Web项目吧
http://10.21.1.43
如果发现本机浏览器访问不到Linux虚拟机中的nginx开启页面
解决办法:
[root@localhost nginx-1.0.13]# /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT #修改防火墙设置,加入80端口
相关命令
nginx #启动nginx
nginx -s reload #修改配置后重新加载生效
nginx -s reopen #重新打开日志文件
nginx -t -c /path/to/nginx.conf #测试nginx配置文件是否正确
关闭nginx:
nginx -s stop #快速停止nginx
nginx -s quit #完整有序的停止nginx
netstat -autlp|grep 80 #查看端口占用情况
netstat -tunlp | grep 80 #关闭占用80端口的软件或者服务
kill -9 进程号 #如果被占用杀掉进程
pkill -9 nginx #杀掉和某个进程有关的所有进程
ps aux | grep nginx #查看和nginx有关的进程
总结:
搭建环境是个细心的工程,我是新手,所以在第一次安装时报错就慌了,之后就是各种百度问题,想办法解决,发现在查问题找解决办法的同时才真的正学到了,加深了整个安装编译的注意事项。在安装的同时我也会记录操作文档,之后经过多次安装nginx、mysql、php才把记录文档发布在这里(可能也有疏忽、或漏的地方,望谅解)。只希望更多人在搭建出现问题百度问题的时候,多一份查阅资源吧。同时又加深了我整个操作印象。分享而快乐着!