目录
一、编译安装Nginx服务
二、编译安装MySQL服务
三、编译安装PHP服务
四、部署Discuz,社区论坛Web应用
一、编译安装Nginx服务
1、关闭防火墙,将安装Nginx所需软件包传到/opt目录下

systemctl stop firewalld
systemctl disable firewalld
setenforce 0
1
2
3
2.安装环境依赖包

#nginx的配置及允许需要pcre、zlib等软件包的支持,因此需要安装这些安装的开发包,以便提供相应的库和头文件
yum -y install pcre-devel zlib-devel gcc gcc-c++ make
1
2
3、创建运行用户、组(Nginx服务程序默认以nobody身份运行,建议为其创建专门的用户账号,以便更准确的控制其访问权限)

useradd -M -s /sbin/nologin nginx

1
2
4、编译安装

cd /opt
tar zxvf nginx-1.12.0.tar.gz
cd nginx-1.12.0/
./configure
–prefix=/usr/local/nginx
–user=nginx
–group=nginx
–with-http_stub_status_module

make && make install
1
2
3
4
5
6
7
8
9
10
5、优化配置文件路径,并把nginx服务的可执行程序文件放入路径环境变量的目录中便于系统识别

ln -s /usr/local/nginx/sbin/* /usr/local/sbin
1
6、添加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 -1 $MAINPID
ExecStop=/bin/kill -3 $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target

chmod 754 /lib/systemd/system/nginx.service
systemctl start nginx.service
systemctl enable nginx.service
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
之前已经安装过Nginx服务了,可以查看我之前的博客:[Nginx网站服务(https://blog.csdn.net/weixin_51432789/article/details/112349935)

二、编译安装MySQL服务
1、安装MySQL环境依赖包

yum -y install
ncurses
ncurses-devel
bison
cmake
或者
yum -y install ncurses ncurses-devel bison cmake
1
2
3
4
5
6
7
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
5、更改mysql安装目录和配置文件的属主属组

chown -R mysql:mysql /usr/local/mysql/
chown mysql:mysql /etc/my.cnf
1
2
6、设置路径环境变量

echo ‘export PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH’ >> /etc/profile
source /etc/profile
1
2
7、初始化数据化

cd /usr/local/mysql/bin/
./mysqld
–initialize-insecure
–user=mysql
–basedir=/usr/local/mysql
–datadir=/usr/local/mysql/data
1
2
3
4
5
6
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
2
3
4
5
6
9、添加mysql的登录密码

mysqladmin -u root -p password “abc123”
1
10、授权远程登录

mysql -u root -p
grant all privileges on . to ‘root’@’%’ identified by ‘abc123’;
show databases;
1
2
3
这里使用的是集合包安装的MySQL,所以要注意的是在编译安装的时候将
-DWITH_BOOST=/usr/local/boost \改为-DWITH_BOOST=boost
截图内容可以参考源码编译安装LAMP内的安装mysql

三、编译安装PHP服务
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
3
4
5
6
7
8
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
3、路径优化

ln -s /usr/local/php/bin/* /usr/local/bin/
ln -s /usr/local/php/sbin/* /usr/local/sbin/
1
2
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

1
2
3
4
5
6
7
8
9
调整进程服务配置文件:

cd /usr/local/php/etc
cp php-fpm.conf.default php-fpm.conf
vim php-fpm.conf
#17行取消注释“;”
pid = run/php-fpm.pid
1
2
3
4
5
调整扩展配置文件

cd /usr/local/php/etc/php-fpm.d
cp www.conf.default www.conf
1
2
5、启动php-fpm

cd /usr/local/php/sbin/
php-fpm -c /usr/local/php/lib/php.ini
netstat -natp | grep 9000
1
2
3
PHP-FPM(FastCGI Process Manager:FastCGI进程管理器)是一个PHPFastCGI管理器,由于Nginx服务器不能处理动态页面,需要由Nginx把动态请求交给php-fpm进程进行解析
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的工作目录修改为/usr/local/nginx/html
include fastcgi_params;
}

systemctl restart nginx.service
1
2
3
4
5
6
7
8
9
10
11
12
7、验证PHP测试页

vim /usr/local/nginx/html/index.php

<?php phpinfo(); ?>

1
2
3
4
浏览器访问:http://192.168.241.3/index.php

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.241.3','bbsuser','admin123'); if($link) echo "success!!"; else echo "fail!!" ?>

1
2
3
4
5
6
7
8
9
10
11
12
浏览器访问:http://192.168.241.3/index.php

四、部署Discuz,社区论坛Web应用
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
3
4
调整论坛目录的权限

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

1
2
3
4
5
6
7
8
9
10
11
论坛页面访问:http:192.168.241.3/bbs/install/index.php

数据库服务器:localhost
数据库名字:bbs
数据库用户名:bbsuser
数据库密码:admin123
管理员账号:admin
管理员密码:admin123

搭建LNMP基础框架相关推荐

  1. Spring3.2.0-mybatis3.2.0 基于全注解搭建的后台框架-基础版

    2019独角兽企业重金招聘Python工程师标准>>> 摘要: Spring3.2.0-mybatis3.2.0 基于全注解搭建的后台框架-基础版 没有什么不可能  之前一直用的是自 ...

  2. Django的学习需要掌握的一些基础和初步搭建自己的框架

    一.Django的学习需要掌握的一些基础 第一个需要注意的点:客户端发送过来的数据结构组成: 第二个需要注意的点:动态网页和静态网页 静态网页:用户发送请求,服务端找到对应的静态文件返回给浏览器,静态 ...

  3. 腾讯 tars java_腾讯 Tars 基础框架手动搭建——填掉官方 Guide 的坑

    背景 Tars 简介 腾讯 Tars 是腾讯内部使用的 TAF(Tencent Application Framework)的对外开源版,去掉了许多冗杂多余的部分.该框架集开发.运维.微服务.RPC ...

  4. CLion之C++框架篇-安装工具,基础框架的搭建(一)

    CLion之C++框架篇-安装工具,基础框架的搭建(一) 背景 日常学习C++,也就是看看书.在vim里写写代码.在日常项目开发中,也是边看书(一是系统性理解.二是找找有什么更好的代码编写方式)边写代 ...

  5. 原生微信小程序项目基础框架搭建

    原生微信小程序项目基础框架搭建 文件目录结构 1. 环境变量(开发环境, 线上环境,测试环境)便于在不同环境的切换 接口的url webview的前缀url 埋点相关的环境参数 本地存储的环境变量配置 ...

  6. 腾讯 Tars 基础框架手动搭建——填掉官方 Guide 的坑

    背景 Tars 简介 腾讯 Tars 是腾讯内部使用的 TAF(Tencent Application Framework)的对外开源版,去掉了许多冗杂多余的部分.该框架集开发.运维.微服务.RPC ...

  7. uniApp介绍篇-1.基础框架搭建与排坑备忘

    基础框架搭建与排坑备忘 一.uniApp介绍与注意点 1.目录结构 2.跳转页面 3.条件编译 4.生命周期 5.样式布局 6.图片引用 7.html标签 8.JsApi 9.小程序组件支持 10.事 ...

  8. nodejs php做平台,用nodejs做一套康养管理系统(1)--基础框架搭建

    用nodejs做一套康养管理系统(1)--基础框架搭建 这两天准备开始一个康养项目管理系统的开发,闲来无事想将整个流程写下来,并将本项目开发代码开源.首先本次先梳理下结构,画一个拓扑结构图,再根据结构 ...

  9. SpringBoot+MyBatisPlus+Vue 前后端分离项目快速搭建【后端篇】【快速生成后端代码、封装结果集、增删改查、模糊查找】【毕设基础框架】

    前后端分离项目快速搭建[后端篇] 数据库准备 后端搭建 1.快速创建个SpringBoot项目 2.引入依赖 3.编写代码快速生成代码 4.运行代码生成器生成代码 5.编写application.pr ...

最新文章

  1. PHP版本如何选择?应该使用哪个版本?
  2. python观察日志(part21)--ord,chr,unichr方法的联系与区别
  3. Jumpline提供的免费3月的VDS空间,空间容量为20GB, 图文介绍
  4. using namespace std
  5. MacOS之Chrome弹框:代理要求提供用户名和密码(已解决)
  6. win7下對顯示器的電源的操作
  7. 「SAP技术」SAP MM 启用了MPN物料管理的物料,物料主数据与源清单数据有啥不同?
  8. sklearn.svm 多分类
  9. HTML代码 网页设置 QQ空间等分享
  10. tempo js渲染引擎
  11. docker 配置 CA验证
  12. java实现微信定时发送消息
  13. 红楼梦人物关系 python_如何用Python来理一理红楼梦里的那些关系
  14. java SSM 多数据源
  15. Java实现火车购票系统功能
  16. Java中BIO,NIO,AIO
  17. Codecraft-18 and Codeforces Round #458 (Div. 1 + Div. 2, combined) C】 Travelling Salesman and Specia
  18. 关系数据库——数据库恢复
  19. 锤子T1手机 只显示logo无法开机
  20. 事件中心与观察者模式

热门文章

  1. 百度测试开发提前批一面面经
  2. 时空图卷积神经网络(st-gcn)论文解读
  3. Python官方文档学习心得(第三篇)
  4. chrome鼠标手势_Chrome插件推荐——第一弹
  5. react更改路由入参_react路由传参方式
  6. java 避免大量if else_利用java的反射避免 多个 if else if else if else if
  7. php饿死,中国第一懒人:父母去世后,23岁的他饿死家中
  8. mysql读写分离-借助中间键mycat
  9. php从头部添加,php如何向header头添加Authorization信息?
  10. 华为交换机默认vlan都是通的吗_华为设备二层交换技术——Hybrid接口详解