LNMP分离式部署搭建

一、前期准备

1、准备三台虚拟机,分别为: 
Nginx Web:192.168.200.142 
PHP:192.168.200.128 
Mysql:192.168.200.143

二、服务搭建

一、Nginx Web搭建

  1. yum install -y pcre-devel openssl-devel #用本地yum仓库安装依赖包
  2. wget -q http://nginx.org/download/nginx-1.10.2.tar.gz #下载软件源码包
  3. useradd -s /sbin/nologin -M www #创建程序用户
  4. tar xf nginx-1.10.2.tar.gz -C /usr/src/ #解压缩
  5. cd /usr/src/nginx-1.10.2
  6. ./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module #预配置
  7. make && make install #编译和安装
  8. ln -s /usr/local/nginx/sbin/* /usr/local/sbin/ #给命令做软连接,以便PATH能找到
  9. /usr/local/nginx/sbin/nginx #启动nginx

特别提示: /usr/local/nginx/sbin/nginx -s reload nginx平滑重启命令 
/usr/local/nginx/sbin/nginx -s stop nginx停止服务命令

(2)、加工Nginx配置文件

  1. cd /usr/local/nginx/conf
  2. egrep -v "#|^$" nginx.conf.default > nginx.conf

2、安装二进制MySQL数据库

(1)、创建mysql用户的账号

  1. groupadd mysql
  2. useradd -s /sbin/nologin -g mysql -M mysql

(2)、获取MySQL二进制软件包 
百度云盘:http://pan.baidu.com/s/1hrBCzsC 提取码:4yjf

(3)、采用二进制方式安装MySQL

  1. tar xf mysql-5.5.32-linux2.6-x86_64.tar.gz -C /usr/local/
  2. cd /usr/local/
  3. mv mysql-5.5.32-linux2.6-x86_64 mysql-5.5.32
  4. ln -s mysql-5.5.32 mysql

(4)、初始化MySQL配置文件my.cnf

  1. cd /usr/local/mysql
  2. ls -l support-files/*.cnf
  3. /bin/cp support-files/my-small.cnf /etc/my.cnf

(5)、初始化MySQL数据库文件

  1. mkdir -p /usr/local/mysql/data #建立MySQL数据文件目录
  2. chown -R mysql.mysql /usr/local/mysql #授权mysql用户管理MySQL的安装目录
  3. yum -y install libaio #光盘源安装依赖包,否则下一步的编译会报错
  4. /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
  5. #初始化MySQL数据库文件,会有很多信息提示,如果没有ERROR级别的错误,会有两个OK的字样,表示初始化成功,否则就要解决初始化的问题

以上的命令主要作用是生成如下数据库文件 
 
这些MySQL数据文件是MySQL正确运行所必需的基本数据库文件,其功能是对MySQL权限,状态等进行管理。

(6)、配置并启动MySQL数据库 

启动MySQL数据库 

设置MySQL开机自启动 

(7)配置mysql命令的全局使用路径

(8)登陆MySQL测试 

(9)、MySQL安全配置、为MySQL的root用户设置密码

  1. mysqladmin -u root password ‘123123‘ #设置root用户密码
  2. mysql -uroot -p123123 #用root用户登录数据库

二、安装Nginx

1、安装解压

  1. yum install -y pcre-devel openssl-devel #用本地yum仓库安装依赖包
  2. #wget -q http://nginx.org/download/nginx-1.10.2.tar.gz #下载软件源码包
  3. tar xf nginx-1.10.2.tar.gz -C /usr/src/ #解压缩
  4. cd /usr/src/nginx-1.10.2
  5. ./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module #预配置,命令说明:--with-http_stub_status_module 要运用的模块名,--with指定模块
  6. make && make install #编译和安装
  7. ln -s /usr/local/nginx/sbin/* /usr/local/sbin/ #给命令做软连接,以便PATH能找到

2、创建一个程序用户

  1. useradd -M -s /sbin/nologin nginx #创建程序用户
  2. /usr/local/nginx/sbin/nginx #启动nginx
  3. 特别提示: /usr/local/nginx/sbin/nginx -s reload nginx平滑重启命令
  4. /usr/local/nginx/sbin/nginx -s stop nginx停止服务命令
  5. web排错三部曲下面介绍客户端排查的思路
  6. 第一步,在客户端上ping服务器端IP,命令如下:
  7. ping 10.0.0.8排除物理线路问题影响
  8. 第二步,在客户端上telnet服务器端IP,端口,命令如下:
  9. telnet 10.0.0.8 80排除防火墙等得影响
  10. 第三步,在客户端使用wget命令检测,如下:
  11. wget 10.0.0.8(curl -I 10.0.0.8)模拟用户访问,排除http服务自身问题,根据输出在排错

3、安装完成后进入配置文件目录加工下配置文件

  1. Nginx主配置文件nginx.conf,路径:/usr/local/nginx/conf/nginx.conf
  2. egrep -v "#|^$" nginx.conf.default > nginx.conf #去掉包含#号和空行的内容

4、配置Nginx支持PHP程序请求访问

  1. (1)查看nginx当前的配置
  2. [[email protected] conf]# vim nginx.conf
  3. worker_processes 1;
  4. events {
  5. worker_connections 1024;
  6. }
  7. http {
  8. include mime.types;
  9. default_type application/octet-stream;
  10. sendfile on;
  11. keepalive_timeout 65;
  12. include extra/www.conf;
  13. include extra/mail.conf;
  14. include extra/blog.conf;
  15. }
  16. (2)PHP解析,这里以blog为例讲解,内容如下:
  17. [[email protected] extra]# cat blog.conf
  18. server {
  19. listen 80;
  20. server_name blog.shidu.com;
  21. location / {
  22. root html/blog;
  23. index index.html index.htm;
  24. }
  25. }
  26. 最终blog虚拟机的完整配置如下:
  27. [[email protected] extra]# cat blog.conf
  28. server {
  29. listen 80;
  30. server_name blog.shidu.com;
  31. location / {
  32. root html/blog;
  33. index index.html index.htm;
  34. }
  35. location ~ .*\.(php|php5)?$ {
  36. root html/blog;
  37. fastcgi_pass 127.0.0.1:9000;
  38. fastcgi_index index.php;
  39. include fastcgi.conf;
  40. }
  41. }

5、检查并启动Nginx 

三、PHP安装

1 检查Nginx及MySQL的安装情况

(1)检查确认Nginx及MySQL的安装路径

  1. [[email protected] ~]# ls -ld /usr/local/nginx
  2. drwxr-xr-x. 11 root root 4096 Nov 9 00:42 /usr/local/nginx
  3. [[email protected] ~]# ls -ld /usr/local/mysql
  4. lrwxrwxrwx. 1 mysql mysql 12 Nov 9 01:00 /usr/local/mysql -> mysql-5.5.32

(2)检查端口及启动情况 

(3)测试访问Nginx及MySQL是否OK 

2 安装相关的lib软件包

  1. yum -y install zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel freetype-devel libpng-devel gd libcurl-devel libxslt-devel

安装后的结果如下: 

从上图结果看出,仅有libiconv-devel这个包没有安装,因为默认的yum源没有此包,后面会编译安装。

3、安装yum无法安装的libiconv库

./configure --prefix=/usr/local/libiconv && make && make install #开始编译安装

4、安装libmcrypt库\mhash加密扩展库\mcrvpt加密扩展库

  1. wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo #推荐使用简单的在线yum的方式安装
  2. cd /etc/yum.repos.d/
  3. yum -y install libmcrypt-devel #安装libmcrypt库
  4. yum -y install mhash #安装mhash加密扩展库
  5. yum -y install mcrypt #mcrvpt加密扩展库

5、开始安装PHP(FastCGI方式)服务 
获取PHP软件包 
链接:https://pan.baidu.com/s/1RXk-DcujpOWkbe6f9ql1ng 
提取码:c970

6、解压配置PHP

  1. tar xf php-5.3.28.tar.gz -C /usr/src/
  2. cd /usr/src/php-5.3.28/
  3. ./configure \
  4. > --prefix=/usr/local/php5.3.28 \
  5. > --with-mysql=mysqlnd \
  6. > --with-iconv-dir=/usr/local/libiconv \
  7. > --with-freetype-dir \
  8. > --with-jpeg-dir \
  9. > --with-png-dir \
  10. > --with-zlib \
  11. > --with-libxml-dir=/usr \
  12. > --enable-xml \
  13. > --disable-rpath \
  14. > --enable-safe-mode \
  15. > --enable-bcmath \
  16. > --enable-shmop \
  17. > --enable-sysvsem \
  18. > --enable-inline-optimization \
  19. > --with-curl \
  20. > --with-curlwrappers \
  21. > --enable-mbregex \
  22. > --enable-fpm \
  23. > --enable-mbstring \
  24. > --with-mcrypt \
  25. > --with-gd \
  26. > --enable-gd-native-ttf \
  27. > --with-openssl \
  28. > --with-mhash \
  29. > --enable-pcntl \
  30. > --enable-sockets \
  31. > --with-xmlrpc \
  32. > --enable-zip \
  33. > --enable-soap \
  34. > --enable-short-tags \
  35. > --enable-zend-multibyte \
  36. > --enable-static \
  37. > --with-xsl \
  38. > --with-fpm-user=www \
  39. > --with-fpm-group=www \
  40. > --enable-ftp

7、编译安装:make && make install

8、 配置PHP引擎配置文件php.ini 
(1)设置软链接以方便访问

  1. [[email protected] ~]# ln -s /usr/local/php5.3.28/ /usr/local/php
  2. [[email protected] ~]# ls -l /usr/local/php
  3. lrwxrwxrwx. 1 root root 21 Nov 9 05:30 /usr/local/php -> /usr/local/php5.3.28/

(2)查看PHP配置默认模版文件

  1. [[email protected] ~]# cd /usr/src/php-5.3.28/
  2. [[email protected] php-5.3.28]# ls php.ini*
  3. php.ini-development php.ini-production

请注意以上两文件的异同之处,可通过diff或vimdiff命令比较,如下图所示

(3)拷贝PHP配置文件到PHP默认目录,并更改文件名称为php.ini 
cp php.ini-production /usr/local/php/lib/php.ini

10、配置PHP(FastCGI方式)的配置文件php-fpm.conf

  1. [[email protected] etc]# ls
  2. pear.conf php-fpm.conf.default
  3. [[email protected] etc]# cp php-fpm.conf.default php-fpm.conf
  4. [[email protected] etc]# ls
  5. pear.conf php-fpm.conf php-fpm.conf.default

11、启动PHP服务(FastCGI方式) 
(1)启动PHP服务php-fpm

  1. /usr/local/php/sbin/php-fpm

(2)检查PHP服务php-fpm的进程及启动端口的情况

  1. ps -ef | grep php-fpm
  2. lsof -i:9000 #默认9000端口提供服务

三、测试

1、测试LNMP环境生效情况 
(1)进入指定的默认站点目录后,编辑index.php,添加如下内容:


[[email protected] blog]# pwd 
/usr/local/nginx/html/blog 
[[email protected] blog]# echo "<?php phpinfo(); ?>" >test_info.php 
[[email protected] blog]# cat test_info.php 
<?php phpinfo(); ?> 

以上代码为显示PHP配置信息的简单PHP文件代码

(2)调整Windows下的host解析 
192.168.200.128 www.shidu.com blog.shidu.com mail.shidu.com

(3) 打开浏览器输入 http://blog.shidu.com/test_info.php 即可进入下图界面 
出现此界面,表示Nginx配合PHP解析已经正常。 

原文地址:https://www.cnblogs.com/mendermi/p/10015353.html

时间: 2024-11-04 00:48:25

LNMP分离式部署搭建的相关文章

Linux系统——LNMP分离式部署

#### 安装nginx ```[[email protected] ~]# tar xf nginx-1.10.2.tar.gz -C /usr/src/[[email protected] ~]# cd /usr/src/nginx-1.10.2/[[email protected] ~]# mount /dev/sr0 /media/cdrom[[email protected] nginx-1.10.2]# yum -y install pcre-devel openssl-devel[

LNMP分离式部署(7)

1.LNMP之MySQL数据库 1.1 安装步骤介绍 (1)创建mysql用户的账号 [[email protected] ~]# groupadd mysql [[email protected] ~]# useradd -s /sbin/nologin -g mysql -M mysql [[email protected] ~]# tail -1 /etc/passwd mysql:x:501:501::/home/mysql:/sbin/nologin [[email protected

LNMP分离式部署实例

很多人在练习部署LNMP环境的时候,大都数是部署在同一个虚拟机上面的.但是实际工作中,我们一般都是分离部署的. 今天我就用3台虚拟机,部署下LNMP环境.以供参考! 网络拓扑图: 首先准备3台虚拟机: nginx:192.168.1.214 php:192.168.1.202 mysql:192.168.1.217 首先安装ngix(192.168.1.214):  #解决依赖   yum install -y gcc,openssl-devel,pcre-devel,zilb-devel  p

企业级LNMP分离式部署

安装MySQL数据库 安装步骤介绍 本例采用MySQL二进制安装包进行安装演示 (1) 创建mysql用户的账号 [[email protected] ~]# groupadd mysql [[email protected] ~]# useradd -s /sbin/nologin -g mysql -M mysql [[email protected] ~]# tail -1 /etc/passwd mysql:x:500:501::/home/mysql:/sbin/nologin [[e

LNMP分离式部署步骤详解

1 .nginx编译安装参考nginx的2 .mysql编译安装参考mysql的3 .php安装要加一条安装支持yum -y install openssl-devel openssl 1. 开始部署web端 1) 在根目录下创建一个目录wwwmkdir /www递归给www属主和属组为wwwchown  -R www.www /www2) vim /usr/local/nginx/conf/nginx.confworker_processes  1;events {    worker_con

Linux服务器集群架构部署搭建(四)WEB服务器LNMP/LAMP搭建部署及站点产品安装(1)

命运是大海,当你能够畅游时,你就要纵情游向你的所爱,因为你不知道狂流什么会到来,卷走一切希望与梦想. 作者:燁未央_Estelle声明:测试学习,不足之处,欢迎指正. 第一章 集群WEB服务器LNMP生产应用 1.1 Nginx的应用场合:根据功能来进行应用 ①静态服务器(图片,视频服务)国内使用的只有两款,另一个是lighttpd.百度贴吧.豆瓣.html.js.css.flv等. ②动态服务:nginx+fastcgi的方式运行php.jsp.动态的并发很少(根据优化达到500-1500),

centos7.3搭建LNMP并部署wordpress站点

centos7.3搭建LNMP并部署wordpress站点 一.拓扑图 二.准备工作: 1.三台独立主机(虚拟机) nginx:10.0.0.11 php-fpm:10.0.0.2 mariadb:10.0.0.13 准备好yum环境(推荐阿里云yum源,请百度搜索) 2.相关的软件包准备 10.0.0.11(nginx) yum install nginx -y 10.0.0.2(php-fpm) yum install php-fpm php-mysql  php-mbstring php-

分离式部署LNMP架构并实现项?上线 -Author: bavdu -Email: bavduer@

分离式部署LNMP架构并实现项目上线 / nginx配置 /$ hostnamectl set-hostname nginx_server$ vim /etc/yum.repos.d/nginx.repo[nginx]name=nginx repobaseurl=http://nginx.org/packages/centos/7/$basearchgpgcheck=0enabled=1$ yum -y install nginx$ vim /etc/nginx/conf.d/default.c

(一)lnmp架构的搭建:Nginx

Nginx简介:Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器.Nginx是由俄罗斯的程序设计师Igor Sysoev为俄罗斯访问量第二的Rambler.ru站点开发的,第一个公开版本0.1.0发布于2004年10月4日.其将源代码以类BSD许可证的形式发布,因它的稳定性.丰富的功能集.示例配置文件和低系统资源的消耗而闻名.Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下