LNMP搭建

目录

一、编译安装Nginx 服务

1、编译安装Nginx 服务的操作步骤

1.1 安装依赖包

1.2 创建运行用户

1.3 编译安装

1.4 优化路径

1.5 添加 Nginx 系统服务

2、实例操作:编译安装Nginx 服务

2.1 关闭防火墙,并把安装包放到/opt目录下,并安装依赖包

2.2 创建运行用户,配置相关模块并编译安装

2.3 优化路径

2.4 添加nginx服务

2.5 赋予权限并开启服务,访问测试

二、编译安装MySQL服务

1、编译安装MySQL服务的操作步骤

1.1 安装Mysql环境依赖包

1.2 创建运行用户

1.3 编译安装

1.4 修改mysql 配置文件

1.5 更改mysql安装目录和配置文件的属主属组

1.6 设置路径环境变量

1.7 初始化数据库

1.8 添加mysqld系统服务

1.9 修改mysql 的登录密码

1.10 授权远程登录

2、实例操作:编译安装MySQL服务

2.1 放入软件包并安装Mysql环境依赖包

2.2 创建运行用户并配置相关模块,最后编译安装

2.3 修改mysql 配置文件

2.4 更改mysql安装目录和配置文件的属主属组

2.5 设置路径环境变量

2.6 初始化数据库

2.7 添加mysqld系统服务

2.8 修改mysql 的登录密码并授权远程登录

三、编译安装PHP解析环境

1、编译安装PHP解析环境的操作步骤

1.1 安装环境依赖包

1.2 编译安装

1.3 路径优化

1.4 调整PHP配置文件

1.5 启动php-fpm

1.6 配置 Nginx 支持 PHP 解析

1.7 验证PHP 测试页

1.8 验证数据库工作是否正常

2、实例操作:编译安装PHP解析环境

2.1 放入安装包并安装环境依赖包

2.2 配置相关模块并编译安装

2.3 路径优化

2.4 调整PHP三个配置文件

2.4 启动php-fpm

2.5 配置 Nginx 支持 PHP 解析并重启服务

2.6 并修改index.php的网页内容

2.7 浏览器访问测试

2.8 验证数据库工作是否正常

四、部署 Discuz!社区论坛

1、部署 Discuz!社区论坛 的操作步骤

1.1 解压论坛压缩包

1.2 更改论坛目录的属主

2、实例操作:部署 Discuz!社区论坛

2.1 解压论坛压缩包

2.2 更改论坛目录的属主

2.3 论坛页面访问

五、fpm 参数优化


一、编译安装Nginx 服务

1、编译安装Nginx 服务的操作步骤

systemctl stop firewalld
systemctl disable firewalld
setenforce 0

1.1 安装依赖包

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

1.2 创建运行用户

useradd -M -s /sbin/nologin nginx

1.3 编译安装

cd /opt
tar zxvf nginx-1.12.0.tar.gz -C /opt/
 
cd nginx-1.12.0/
./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module
 
make && make install

1.4 优化路径

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

1.5 添加 Nginx 系统服务

vim /lib/systemd/system/nginx.service
 
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
 
chmod 754 /lib/systemd/system/nginx.service
systemctl start nginx.service
systemctl enable nginx.service

2、实例操作:编译安装Nginx 服务

2.1 关闭防火墙,并把安装包放到/opt目录下,并安装依赖包


  

2.2 创建运行用户,配置相关模块并编译安装


 


 

2.3 优化路径


 

2.4 添加nginx服务

2.5 赋予权限并开启服务,访问测试


  

二、编译安装MySQL服务

1、编译安装MySQL服务的操作步骤

1.1 安装Mysql环境依赖包

yum -y install \
ncurses \
ncurses-devel \
bison \
cmake

1.2 创建运行用户

useradd -M -s /sbin/nologin  mysql

1.3 编译安装

cd /opt
tar zxvf mysql-boost-5.7.20.tar.gz
 
cd /opt/mysql-5.7.20/
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8  \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=boost \
-DWITH_SYSTEMD=1
 
make && make install

1.4 修改mysql 配置文件

vim /etc/my.cnf
[client]
port = 3306
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
bind-address = 0.0.0.0
skip-name-resolve
max_connections=2048
default-storage-engine=INNODB
max_allowed_packet=16M
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

1.5 更改mysql安装目录和配置文件的属主属组

chown -R mysql:mysql /usr/local/mysql/
chown mysql:mysql /etc/my.cnf

1.6 设置路径环境变量

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

1.7 初始化数据库

cd /usr/local/mysql/bin/
./mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data

1.8 添加mysqld系统服务

cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/
systemctl daemon-reload
systemctl start mysqld.service
systemctl enable mysqld

1.9 修改mysql 的登录密码

	
mysqladmin -u root -p password "abc123"

1.10 授权远程登录

mysql -u root -p
grant all privileges on *.* to 'root'@'%' identified by '123';
#授予root用户可以在所有终端远程登录,使用的密码是abc123,并对所有数据库和所有表有操作权限
  
show databases;         #查看当前已有的数据库

2、实例操作:编译安装MySQL服务

2.1 放入软件包并安装Mysql环境依赖包


  

2.2 创建运行用户并配置相关模块,最后编译安装


  

2.3 修改mysql 配置文件

2.4 更改mysql安装目录和配置文件的属主属组

2.5 设置路径环境变量

2.6 初始化数据库

2.7 添加mysqld系统服务


 

2.8 修改mysql 的登录密码并授权远程登录


      

三、编译安装PHP解析环境

1、编译安装PHP解析环境的操作步骤

1.1 安装环境依赖包

yum -y install gd \
libjpeg libjpeg-devel \
libpng libpng-devel \
freetype freetype-devel \
libxml2 libxml2-devel \
zlib zlib-devel \
curl curl-devel \
openssl openssl-devel

1.2 编译安装

cd /opt
tar jxvf 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

1.3 路径优化

ln -s /usr/local/php/bin/* /usr/local/bin/
ln -s /usr/local/php/sbin/* /usr/local/sbin/

1.4 调整PHP配置文件

php有三个配置文件:

  • php.ini 主配置文件
  • php-fpm.conf 进程服务配置文件
  • www.conf 扩展配置文件

调整主配置文件:

cp /opt/php-7.1.10/php.ini-development /usr/local/php/lib/php.ini  
vim /usr/local/php/lib/php.ini
--1170行--修改
mysqli.default_socket = /usr/local/mysql/mysql.sock
--939行--取消注释,修改
date.timezone = Asia/Shanghai
 
 
php -m                  #验证安装的模块

调整进程服务配置文件:

cd /usr/local/php/etc/
cp  php-fpm.conf.default php-fpm.conf
vim php-fpm.conf
--17行--去掉";"注释
pid = run/php-fpm.pid

调整扩展配置文件:

cd /usr/local/php/etc/php-fpm.d/
cp www.conf.default www.conf

1.5 启动php-fpm

/usr/local/php/sbin/php-fpm -c /usr/local/php/lib/php.ini
netstat -anpt | grep 9000

PHP-FPM(FastCGI Process Manager:FastCGI 进程管理器)是一个 PHPFastCGI 管理器, 由于Nginx服务器不能处理动态页面,需要由 Nginx 把动态请求交给 php-fpm 进程进行解析

1.6 配置 Nginx 支持 PHP 解析

vim /usr/local/nginx/conf/nginx.conf
--65行--取消注释,修改
location ~ \.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;  #将 /scripts 修改为nginx的工作目录
    include        fastcgi_params;
}
 
systemctl restart nginx.service

1.7 验证PHP 测试页

vim /usr/local/nginx/html/index.php
<?php
phpinfo();
?>

浏览器访问 http://192.168.2.66/index.php  

1.8 验证数据库工作是否正常

mysql -u root -p
CREATE DATABASE bbs;
GRANT all ON bbs.* TO 'bbsuser'@'%' IDENTIFIED BY 'admin123';
GRANT all ON bbs.* TO 'bbsuser'@'localhost' IDENTIFIED BY 'admin123';
flush privileges;
 
vim /usr/local/nginx/html/index.php             #替换原来的测试页内容
<?php
$link=mysqli_connect('192.168.2.66','bbsuser','123');
if($link) echo "<h1>Success!!</h1>";
else echo "Fail!!";
?>

浏览器访问
http://192.168.2.66/index.php

2、实例操作:编译安装PHP解析环境

2.1 放入安装包并安装环境依赖包


 

2.2 配置相关模块并编译安装

2.3 路径优化

2.4 调整PHP三个配置文件

2.4.1 调整主配置文件:

2.4.2 调整进程服务配置文件:

2.4.3 调整扩展配置文件:

2.4 启动php-fpm

2.5 配置 Nginx 支持 PHP 解析并重启服务

2.6 并修改index.php的网页内容

2.7 浏览器访问测试


  

2.8 验证数据库工作是否正常

2.8.1 创建数据库并进行授权


  

2.8.2 替换原来的测试页内容

2.8.3 在浏览器进行访问测试


  

四、部署 Discuz!社区论坛

1、部署 Discuz!社区论坛 的操作步骤

因为在验证数据库连接的时候已经创建了数据库bbs,这里省略

1.1 解压论坛压缩包

cd /opt
unzip Discuz_X3.4_SC_UTF8.zip  -d /opt/dis
cd /opt/dis/dir_SC_UTF8/
cp -r upload/ /usr/local/nginx/html/bbs/

1.2 更改论坛目录的属主

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/

论坛页面访问
http://192.168.2.66/bbs/install/index.php
-------------------------------------------------------------------------------------------------------------------------------------------------------------
数据库服务器:localhost ###本地架设就用localhost,如何不是在在本机上就要填写IP地址和端口号
数据库名字:bbs
数据库用户名:bbsuser
数据库密码:123
管理员账号:admin
管理员密码:123
------------------------------------------------------------------------------------------------------------------------------------------------------------------
论坛后台管理员页面
http://192.168.2.66/bbs/admin.php

2、实例操作:部署 Discuz!社区论坛

2.1 解压论坛压缩包


 

2.2 更改论坛目录的属主



  
如何查看论坛目录的属主


  

2.3 论坛页面访问

http://192.168.2.66/bbs/install/index.php

五、fpm 参数优化

Nginx的PHP解析功能实现如果是交由FPM处理的,为了提高PHP的处理速度,可对FPM模块进行参数的调整
根据服务器的内存与服务负载,调整FPM模块参数

vim /usr/local/php/etc/php-fpm.d/www.conf
--96行--
pm = dynamic				#fpm进程启动方式,动态的
--107行--
pm.max_children=20			#fpm进程启动的最大进程数
--112行--
pm.start_servers = 5		#动态方式下启动时默认开启的进程数,在最小和最大之间
--117行--
pm.min_spare_servers = 2	#动态方式下最小空闲进程数
--122行--
pm.max_spare_servers = 8	#动态方式下最大空闲进程数


kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid`			#重启php-fpm
netstat -anpt | grep 9000
ps -elf | grep php-fpm

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值