LNMP架构,像初恋女友一般给你的温柔。

一、LNMP简介

 1.1 lnmp概念

LNMP是一个基于centos/debian编写的Linux、Nginx、MySQL、PHP,可以在独立主机上轻松安装的LNMP生产环境。

1.2 nginx概念

Nginx作为Web服务器:相比Apache, Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率。Nginx作为负载均衡服务器: Nginx 既可以在内部直接支持Rails 和PHP,也可以支持作为HTTP代理服务器对外进行服务。Nginx 采用C语言进行编写,不论是系统资源开销还是CPU使用效率都比 Perlbal 要好的多。Nginx 作为邮件代理服务器: Nginx 同时也是一个非常优秀的邮件代理服务器(最早开发这个产品的目的之一也是作为邮件代理服务器),Last/fm 描述了成功并且美妙的使用经验。Nginx安装非常的简单,配置文件非常简洁(还能够支持perl语法)。Nginx支持平滑加载新的配置,还能够在不间断服务的情况下进行软件版本的升级

1.3 mysql概念

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,被Oracle 公司收购。MySQL是最流行的关系型数据库管理系统之一,在WEB 应用方面, MySQL是较好的RDBMS (Relational Database Management System, 关系数据库管理系统)应用软件。
MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL 所使用的SQL 语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。
 

1.4 PHP概念

PHP-FPM (FastCGI Process Manager: FastCGI进程管理器)是一一个PHPFastCGI 管理器, .
由于Nginx服务器不适合处理动态页面,需要由Nginx 把动态请求交给php-fpm处理。
FastCGI: FastCGI是一个可伸缩地、高速地在HTTP服务器和动态脚本语言间通信的接口(FastCGI接 口在Linux下是socket (可以是文件socket,也可以是ipsocket) ),主要优点是把动态语言和HTTP服务器分离开来。多数流行的HTTP服务器都支持FastCGI,包括Apache、Nginx和lightpd。
FastCGI:作用:把动态语言和HTTP分离开来,动静分离

二、LNMP架构部署

2.1 安装nginx

安装前准备

systemctl stop firewalld
systemctl disable firewalld 
setenforce 0

创建运行用户、组

useradd -M -s /sbin/nologin nginx

解压缩安装包,下载需要组件,编译安装

yum -y install pcre-devel zlib-devel gcc gcc-c++ make

cd /opt
tar zxvf nginx-1.15.9.tar.gz 

cd nginx-1.15.9/
./configure \
--prefix=/usr/local/nginx \				
--user=nginx \							
--group=nginx \							
--with-http_stub_status_module			

make  && make install

路径优化(便于管理员控制)

ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/

检查配置文件

nginx -t #检查配置文件语法
nginx -t -c + 绝对路径 

 启动、停止nginx

①查看端口验证

nginx
netstat - antp | grep nginx

②lynx验证

yum install -y lynx
lynx + ip地址 

添加nginx系统服务

vim /usr/lib/systemd/system/nginx.service
##要配置参数##
	[Unit]	
	Description=nginx										##描述
	After=network.target  									##描述服务类别
	[Service]
	Type=forking										    ##后台运行类型
	PIDFile =/usr/local/nginx/logs/nginx.pid		        #PID文件位置
	ExecStart=/usr/local/nginx/sbin/nginx			        #启动服务
	ExecrReload=/bin/kill -s HUP $MAINPID	                #根据PID重载配置
	ExecrStop=/bin/kill -s QUIT $MAINPID		            #根据PID终止进程
	PrivateTmp=true											##开启
	[Install]
	WantedBy=multi-user.target						        #启动级别
=====》wq                                                   ##保存退出

chmod 754 /lib/systemd/system/nginx.service                 ##设置754权限是一种安全优化

ststemctl enable nginx.service                              ##设置nginx开机自启 

检查systemctl命令能否正常使用

Ps:启动报错是因为端口被占用,killall -3 nginx 杀掉进程就好

2.2 安装MySQL服务(5.7.20版本)

安装Mysql环境依赖包

yum -y install ncurses ncurses-devel bison cmake
---------------------------------------------------------
ncurses\			#字符终端工具包
bison \		        #函数库

创建运行客户

useradd -s /sbin/nologin mysql

编译安装

上传mysql -boost-5.7.20. tar .gz到opt目录下
cd /opt
tar xzvf mysql-boost-5. 7.20. tar.gz 
cd /opt/mysq1-5.7.20/
cmake \
	-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \			##指定安装路径(目录)
	-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \			##指定通信文件,连接数据库,通讯协议的载体
	-DSYSCONFDIR=/etc \		##配置文件目录指向/etc
	-DSYSTEMD_PID_DIR=/usr/local/mysql \		##指定pid目录文件
	-DDEFAULT_CHARSET=utf8  \		##字符集设定
	-DDEFAULT_COLLATION=utf8_general_ci \		##字符集设定
	-DWITH_INNOBASE_STORAGE_ENGINE=1 \ 		##以下三行均为存储引擎ENGINE
	-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
	-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
	-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
	-DMYSQL_DATADIR=/usr/local/mysql/data \		##指定数据存放位置
	-DWITH_BOOST=boost \		##底层C++运营库,5.7的版本独立的表空间结构
	-DWITH_SYSTEMD=1		##守护进程id跑在后台的一个支撑服务正常运行的一个特殊进程
make && make install

数据库目录进行权限调整

chown -R mysql:mysql /usr/local/mysql/

修改MySQL配置文件(删除,1000dd)

vi /etc/my.cnf
[client]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock

[mysql]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock

[mysqld]
user = mysql
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
character_set_server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket = /usr/local/mysql/mysql.sock
server-id = 1

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES
chown mysql:mysql /etc/my.cnf

修改环境变量

echo 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile
echo 'export PATH' >> /etc/profile
source /etc/profile

初始化数据库

cd /usr/local/mysql/usr/lib/systemd/system
cp mysqld.service /usr/lib/systemd/system   
systemctl enable mysqld	

数据库的命令开启

systemctl start mysqld
netstat -antp | grep 3306

设置MySQL的用户登陆密码

mysqladmin -u root -p password

å¨è¿éæå¥å¾çæè¿°

登录MySQL

mysql -uroot -pacb123  ##abc123是之前设置的密码

2.3 安装配置PHP 解析环境

安装PHP组件

yum -y install \
libjpeg \
libjpeg-devel \
libpng libpng-devel \
freetype freetype-devel \
libxml2 \
libxml2-devel \
zlib zlib-devel \
curl curl-devel \
openssl openssl-devel
-----------------------------------------------------------------------------------	
> libjpeg \		#jpg图片依赖
	> libjpeg-devel \
	> libpng libpng-devel \	#png图片依赖
	> freetype freetype-devel \	#字体
	> libxml2 \	#支持xml
	> libxml2-devel \
	> zlib zlib-devel \	#压缩格式
	> curl curl-devel \	#识别url
	> openssl openssl -devel
##xml支持扩展性标记语言,用于承载数据url网址openssl安全性访问/加密访问

编译安装

cd /opt
tar xjvf php-7.1.10.tar.bz2
cd php-7.1.10
./configure \
 --prefix=/usr/local/php \
 --with-mysql-sock=/usr/local/mysql/mysql.sock \
 --with-mysqli \
 --with-zlib \
 --with-curl \
 --with-gd \
 --with-jpeg-dir \
 --with-png-dir \
 --with-freetype-dir \
 --with-openssl \
 --enable-fpm \
 --enable-mbstring \
 --enable-xml \
 --enable-session \
 --enable-ftp \
 --enable-pdo \
 --enable-tokenizer \
 --enable-zip

make && make install

编辑配置文件

cp php.ini-development /usr/local/php/lib/php.ini   ##php.ini-development:模板
vim /usr/local/php/lib/php.ini
	1170 mysqli.default_socket =/usr/local/mysql/mysql.sock
	 939 date.timezone = Asia/Shanghai		##注释是“;”,去掉分号
/usr/local/php/bin/php -m 	##验证安装的模块;查询开启的模块

配置及优化FPM模块

复制主配置文件及php-fpm配置文件
cd /usr/local/php/etc/
cp php-fpm.conf.default php-fpm.conf
cd /usr/local/php/etc/php-fpm.d/
cp www.conf.default www.conf
cd /usr/local/php/etc/
vim php-fpm.conf 		
	17 pid = run/php-fpm.pid 			##开启pid支持(可运行)

启动PHP

/usr/local/php/sbin/php-fpm -c /usr/local/php/lib/php.ini   ##启动PHP;-c:指定配置
netstat -anpt | grep 9000   ##php-fpm的端口9000
ln -s /usr/local/php/sbin/* /usr/local/sbin    ##识别命令
ps aux | grep -c "php-fpm"   ##查询进程数

配置NGINX支持PHP功能

vim /usr/local/nginx/conf/nginx.conf    ##在合适的位置	
取消注释,并制定站点目录
location ~ \.php$ {		##~:表示匹配浏览器输入以根域为前的所有域名、ip;\:转义符;php$:以php结尾的
                root           html;
                fastcgi_pass   127.0.0.1:9000;
                fastcgi_index  index.php;
                fastcgi_param  SCRIPT_FILENAME  /usr/local/nginx/html$fastcgi_script_name;		##指定站点目录

cd /usr/local/nginx/html/
vim index.php
	<?php
	phpinfo();
	?>
systemctl  stop nginx
systemctl  start nginx
网页测试: http://192.168.35.40/index.php

三、部署Discuz!社区论坛

安装论坛
cd /opt
unzip Discuz_X3.4_SC_UTF8.zip  
cd /opt/dir_SC_UTF8/
cp -r upload/ /usr/local/nginx/html/bbs/
cd /usr/local/nginx/html/bbs/
chown -R root:nginx ./config/
chown -R root:nginx ./data/
chown -R root:nginx ./uc_client/
chown -R root:nginx ./uc_server/
chmod -R 777 ./config/
chmod -R 777 ./data/
chmod -R 777 ./uc_client/
chmod -R 777 ./uc_server/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Ubuntu Debian(NGINX/PHP/MYSQL)快速配置工具LNMP云安装 Ubuntu Debian云安装基于debian apt-get 快速配置安装nginx php mysql等。LNMP云安装Ubuntu Debian(NGINX/PHP/MYSQL)快速配置工具经测试,整个过程约2-5分钟完成。各种组件均使用最新稳定版。加入php host功能限制每个网站的访问目录,防止跨目录,更安全!解决nginx 0day漏洞! DebianLNMP特点:1. 独特的DebianLNMP安全增强设置。2. 新软件库基于http://www.dotdeb.org/可保持同步更新。3. Nginx MySQL PHP 全部升级到最新稳定版本。4. 快捷的安装脚本,快速安装开源LNMP软件组合。5. 适合懒人+初学者。随着时间变迁,安装的版本会是更新版本。6. 最快安装、最新稳定版、最省资源! Ubuntu Debian(NGINX/PHP/MYSQL)LNMP云安装 直接给出安装方法:最快安装、最新稳定版、最省资源! root@DebianLNMP-Jimmyli:~# wget http://sourceforge.net/projects/debian-lnmp/files/DebianLNMP/DebianLNMP-Jimmyli.sh root@DebianLNMP-Jimmyli:~# sh DebianLNMP-Jimmyli.sh 输入域名,回车。 接着输入MYSQL root用户密码,再次输入确认MYSQL root用户密码,等待安装完成。整个过程约2-5分钟。 安装完成了! 一如既往,安装快捷方便、迅速! 直接给出安装方法:最快安装、最新稳定版、最省资源! 两步安装即完成命令(Pro加强版) root@DebianLNMP-Jimmyli:~# wget http://sourceforge.net/projects/debian-lnmp/files/DebianLNMP/DebianLNMP-Pro-Jimmyli.sh root@DebianLNMP-Jimmyli:~# sh DebianLNMP-Pro-Jimmyli.sh DebianLNMP加强版? 延续DebianLNMP全部功能...新增PHP5插件ImageMagick、XCache、memcache、curl、MCrypt。 DebianLNMP一键安装LNMP状态管理: 安装完成后,管理Nginx、PHP5、MySQL已经有标准管理命令,其状态管理沿用了Linux通用性。 Nginx状态管理 /etc/init.d/nginx {start|stop|restart|reload|force-reload|status|configtest}PHP5-FPM状态管理 /etc/init.d/php5-fpm {start|stop|status|restart|reload|force-reload}MySQL状态管理/etc/init.d/mysql {start|stop|restart|reload|force-reload|status} Nginx nginx.conf:/etc/nginx/nginx.conf MySQL my.cnf:/etc/mysql/my.cnf PHP php.ini:/etc/php5/fpm/php.ini DebianLNMP一键安装LNMP效果图: Ubuntu Debian(NGINX/PHP/MYSQL)快速配置工具 Debian6系统下使用之前发布的“DebianLNMP”服务器软件套件,DebianLNMP一键安装包是一个快捷的服务器套件,轻轻松松全自动安装LNMP(Nginx、MySQL、PHP、phpMyAdmin)可直接用再生产环境。现在我们已经在Debian/UbuntuVPS(VDS)或独立主机安装LNMP,安装最快最新(Nginx、MySQL、PHP、phpMyAdmin)生产环境。 下面介绍配套的DebianLNMP虚拟主机管理工具,快速创建Nginx PHP5.3 MySQL配置。 什么是DebianLNMP虚拟主机管理工具? 使用DebianLNMP一键安装包,安装好Nginx/PHP5.3/MySQL环境后,需要创建添加、新建、删除虚拟主机。它能管理多域名(子域名)的虚拟主机,在Debian系统中以向导的形式管理,按照向导问题选择相应功能即可快速创建。 Debian虚拟主机管理软件?Debian系统安装LNMP环境只需要两条命令,Debian6一键安装包DebianLNMP最快.最新.最省!同样,管理LNMP虚拟主机

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值