今天我们是来共同学习如何做好LNMP的准备工作~nginx mysql 和php都如何安装~那接下来我们就不说多余的话~直接步入正题吧,一步一步都是亲测~大家共同学习呀~
一、安装 nginx
1.首先我们进到http://nginx.org/en/download.html 里,选择 nginx-1.16.0 pgp 复制链接,我们进行再Linux中的下载。
2.wget下载nginx包
wget http://nginx.org/download/nginx-1.16.0.tar.gz
3.解压包
tar -zxvf nginx-1.16.0.tar.gz
4.将nginx包移到/usr/local/src目录下(这里是因为我下载解压的时候没在src下,所以我把它移出来了,我们也可以直接cd到src下,进行下载。)
mv nginx-1.16.0 /usr/local/src
5.安装nginx依赖的程序包
yum install openssl openssl-devel zlib zlib-devel pcre pcre-devel
6.安装gcc
yum install gcc
7.安装gcc-c++
yum install gcc-c++
因为很多文档里显示的就是只有第五步,没有第六、七步,但当我们运行操作的时候会发现nginx依然运行不了,其实是我们缺了gcc和gcc-c++,所以不要小瞧这每一个小程序包,他可能会导致你操作无法进行哦~
8.然后我们进到nginx包这个目录下,去编译
cd /usr/local/src/nginx-1.16.0
9.这里就是编译程序三部曲,我们接下来要编译安装的所有服务,都是要进到自己目录下,然后进行着三步,大家一定要好好记牢呀~
./configure
make
make install
10.然后我们下到nginx中的sbin目录下,我们要去运行程序的话就得去sbin目录下,在别的目录下会报错哦~所以如果你遇到了运行的时候出现问题,运行不起来或什么,首先就要去看一下自己在的目录对不对~嘿嘿嘿
cd /usr/local/nginx/sbin
11.检测nginx 如果你出现 successful字样,证明你成功了,如果出现failed,则表示没成功,你需要继续去上面步骤查看,看哪里有了点小漏洞~
./nginx -t (检测)
12.运行nginx
./nginx
13.查看nginx进程
ps aux | grep nginx
14.关闭setenforce
setenforce 0
15.关闭防火墙
systemctl stop firewalld.service
(注:不要小瞧这14 15步,这往往是大家忽略但又很重要的步骤,如果不关闭防火墙,你会访问不了网页的,会报错~大家注意一下这里)
接下来我们就是建立虚拟主机啦~也是很简单的!~大家不要慌~
因为其实就是添加一个server模块,或者修改一个原有的模块就好啦~
大概就是在server_name中写上我们的域名,再在html中创建相应的location文件~ ~ 16.首先,我们先进入到conf目录下,去配置文件
cd /usr/local/nginx/conf
17.然后我们进入到nginx.conf文件中,来配置一下server模块
vim nginx.conf
18.进入之后,我们将server_name和location / 修改一下
将server_name
改成 www.nautilus.org
将location /
改成 html/www (这是我自己改的域名和地址,都是可以随便改的,自己随便起 可以是www.nautilus.org , 也可以是blog.nautilus.org, 也可以是bbs.nautilus.org 这里的nautilus也可以随便改,改成什么都可以) 19.然后我们进入到html目录下,创建一下我们目标地址的目录
cd html
20.在html下创建目录 www
mkdir www
21.然后我们去到hosts里,去把我们的ip和域名添加上
vim /etc/hosts
22.在末尾添加
ip www.nautilus.org
ip为自己linux的ip地址,如果不知道或不确定的情况下,可以ifconfig查一下,域名就是第三步我们自己起的那个server_name.
23.该改的文件全部都改完之后,我们回到nginx的sbin下,来运行一下nginx
cd /usr/local/nginx/sbin
24.运行nginx
./nginx
~ ~ 注意:在这里,运行的时候可能会遇到这个报错: nginx: [emerg] "server" directive is not allowed here in /usr/local/nginx/conf/nginx.conf:58
不要慌,这只是表示: 编辑文件时 server模块 编辑出现错误 那我们只要vim nginx.conf 重新回到编辑文件里去检查哪里错了改正即可
注!!!!!!!!!!!!!! 一定要注意,server模块的{}括号问题
25.查一下进程,查进程是ps aux 然后我们为了方便直接看到我们想看的,再用一个grep 直接查到nginx的进程状态
ps aux | grep nginx
检测配置文件语法是否正确 ./nginx -t 26.重新读一下文件,我们每次进出一次,最好是都要重读一下。
./nginx -s reload
然后到此为止,我们在linux中的配置就算是告一段落了,接下来我们就要去我们windows中去配置文件,也是去找/etc/hosts
27.首先是在开始菜单里找到记事本
28.然后不要直接双击打开,我们右键点击 选择 以管理员身份打开(win7系统直接就有,win10系统中是右击之后有一个"更多" 在更多下有"以管理员身份打开")
29.然后我们敲Ctrl+O 选择打开文件
在C:/windows/system 32/divers/etc/hosts,最终找到hosts文件
注:~!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
这里你在打开文件的时候 ,在etc下显示没有找到任何文件,不要怕,在右下角有一个"文件格式.txt",将它改成"所有文件"就会立刻显示出来哦~然后就选择hosts
30.接下来就是更改hosts文件, 我们是要在Hosts文件末尾添加 liunx的ip和域名
31.保存,一定别忘了保存。
注:!!!!!!!!!!!!!!!!!!!!!
这里注意,如果你没有以管理员身份打开记事本的话,这里是不允许你保存的,所以一定要注意哦~
32.查找自己ip
ifconfig
这样我们所有要改的文件就都更改完了,接下来就剩最后一步啦,当当当当~~~~
见证奇迹的时刻到了!
33.我们要在浏览器中访问,在网址框内输入我们的主机名,也就是server_name,然后回车,我们就会看到一个Welcom的页面,如果你更改了index.html文件的话,那你更改的内容将会出现~
会出现:
Welcome to nginx!
If you see this page, the nginx web server is successfully installed and working. Further configuration is required.
For online documentation and support please refer to nginx.org.
Commercial support is available at nginx.com.
Thank you for using nginx.
如果你也出现这个页面了,那么恭喜你,你已经成功安装了nginx并启动了,虚拟主机也配置完成了,yes,yes,yes,连接成功!尽情的享受成功的喜悦吧~
但如果你访问不了网页,会出现两种可能
(1)出现 “无法访问该网页” 那就是你的防火墙没有关闭,去重新关闭防火墙就ok了
(2)出现 “404报错" 那就是windows中没配置成功 我们去重新配置就可以了!
~ ~ ~ ~
二、安装mysql
接下来就是安装mysql了,很抱歉,我这个mysql不是源码编译安装的,我是直接yum安装的,因为我个人这里,编译安装的时候,最后出现了pid的错误,多次尝试最终没有成功,所以第二天就直接转战yum安装了~有能解决类似问题的,我们也可以一起研究~
1.首先我们是来下载mysql源安装包
wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
2.下载之后我们来安装mysql源
yum localinstall mysql57-community-release-el7-8.noarch.rpm
3.然后我们vim 进到/etc/yum.repos.d/mysql-community.repo里 ,进行修改
将5.7下的enabled=1改成enabled=0
将5.6源的enabled=0改成enabled=1
如图操作,这样我们就把默认安装的mysql的版本改成了5.6的,如果以后你自己想装5.7 就可以将5.7改成1,将5.6改成0,要学会变通哦~
4.安装mysql
yum install mysql-community-server
6.启动mysql
systemctl start mysqld
7.设置开机自启动
systemctl enable mysqld
shell> systemctl daemon-reload
8.连接mysql
mysql -uroot -p
如果你能看到一个mysql交互式环境,那说明我们已经成功安装并启动了mysql,如图所示。
~ ~ ~ ~ ~ ~
三、安装php
那接下来我们就一起来安装php吧,我们php是基于nginx或者apche的基础上,所以如果没有的话,就需要安装一下,本文是基于nginx的环境下,让我们一起来学习一下吧,每一步都是亲测!!!!!!!!
首先先查看一下我们的Centos的版本,我的是Centos7。
cat /etc/redhat-release 在centos上安装php 1.添加用户
groupadd www
useradd -g www -s /sbin/nologin -M www 2.安装依赖的程序包
yum install zlib libxml libjpeg freetype libpng gd curl libiconv zlib-devel libxml2-devel libjpeg-devel freetype-devel libpng-devel gd-devel curl-devel openssl openssl-devel libxslt-devel 3.安装 libiconv
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.15.tar.gz 4.解压 libiconv包
tar zxf libiconv-1.15.tar.gz 5.进入到libiconf文件下,编译安装libiconf
cd libiconv-1.15
6.编译libiconv
./configure --prefix=/usr/local/libiconv
make
make install
7.下到src目录下 去下载
cd /usr/local/src
8.安装PHP-5.6.30.tar.gz
wget http://tw1.php.NET/get/php-5.6.30.tar.gz/from/this/mirror
9.给镜像重命名
mv mirror php-5.6.30.tar.gz
10.解压
tar xzvf php-5.6.30.tar.gz
11.进到php-5.6.30文件下,去编译安装php
cd /usr/local/src/php-5.6.30
12.编译
./configure
--prefix=/usr/local/php
--enable-fpm
--with-mysql=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-openssl
--with-zlib
--with-gd
--with-jpeg-dir
--with-png-dir
--with-iconv=/usr/local/libiconv
--enable-short-tags
--enable-sockets
--enable-zend-multibyte
--enable-soap
--enable-mbstring
--enable-static
--with-curl
--enable-ftp
--with-libxml-dir
make
make install
php.ini配置 cp php.ini-development /usr/local/php/lib/php.ini php-fpm配置 cp -R ./sapi/fpm/php-fpm.conf /usr/local/php/etc/php-fpm.conf 15.将php给我们准备好的init.d.php-fpm
cp ./sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
16.将php-fpm服务添加到chkconfig列表
chkconfig --add php-fpm
17.设置开机自启动
chkconfig php-fpm on 18.启动服务
service php-fpm start 注:这里可能会出现个报错:Permission Denied !!!!!!!!!!!!!!!!!!!!!!但是不要怕,我们进行下面的操作,加个权限就好了~
19.配置环境变量
vim /etc/profile
在最末尾添加
PATH=$PATH:$HOME/bin:/usr/local/php56/bin
20.启动
source /etc/profile 24.查看php版本
php -v 25.php-fpm 服务
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
overwrite ? [y/n] y
26.php-fpm 服务 加权限
chmod +x /etc/init.d/php-fpm 27.启动php-fpm
service php-fpm start 28.更改配置文件
vim /usr/local/nginx/nginx.conf 将user 改成www www 在server/location模块下加一个 index.php 将location ~ .php$ 模块注释去掉 将/scripts改成$document_root 29.去到html目录下
cd /usr/local/nginx/html
30.添加test.php文件
vim test.php
31.下到sbin目录下
(附注:我们nginx下有几个重要的目录,例如conf,我们通常都是下到这里面去修改配置文件,sbin,我们通常都是下到这里面去运行程序,html,我们通常是进到里面创建目录为了访问网页做准备,对于这些目录的详细了解,大家可以再去研究~)
cd sbin
32.运行nginx
./nginx
33.重读
./nginx -s reload
34.在linux上添加hosts
vim /etc/hosts
在末尾添加 ip和域名
35.在windows上添加hosts
在windows里 c:/system 32/drivers/etc/hosts
末尾添加 ip和域名
36.访问网站
在网址栏里输入 域名/test.php