目录

编译安装NGINX

安装依赖包

新建用户 组便于管理(nginx 服务程序默认 以 nobody 身份运行,建议为其创建专门的用户账户,以便更准确的控制访问权限)

编译安装Nginx

添加 Nginx 系统服务

编译安装mysql5.7

安装配置php文件

nginx加入PHP功能

测试数据库工作是否正常

LNMP应用部署之 部署 Discuz!社区论坛 Web 应用


编译安装NGINX

安装依赖包

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

新建用户 组便于管理(nginx 服务程序默认 以 nobody 身份运行,建议为其创建专门的用户账户,以便更准确的控制访问权限)

useradd -M -s /sbin/nologin nginx  #-M(不创建主目录) -s(不允许登录)

编译安装Nginx

cd  /opt/   准备好的 tar包解压 到 /opt/ 目录

tar zxvf nginx-1.120.tar.gz -C /opt    #解压到/opt/ 目录
cd nginx-1.12.0/                      移动到解压好的文件夹#编译./configure \
--prefix=/usr/local/nginx \
#安装路径
--user=nginx \
#指定用户名
--group=nginx \
#指定用户组
--with-http_stub_status_module
#启用此模块支持状态统计./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 系统服务

#添加 Nginx 系统服务
方法一:vim /etc/init#!/bin/bash
#chkconfig: - 99 20
#description:Nginx Service Control Script
PROG="/usr/local/nginx/sbin/nginx"
PIDF="/usr/local/nginx/logs/nginx.pid" case "$1" in
start) $PROG
;;
stop)
kill -s QUIT $(cat $PIDF)
;;
restart)
$0 stop $0 start
;;
reload)
kill -s HUP $(cat $PIDF)
;;
*) echo "Usage: $0 {start|stop|restart|reload}"
exit 1
esac
exit 0#方法二#!/bin/bash
#chkconfig: 35 99 20
#description:Nginx Service Control Script
cmd="/usr/local/nginx/sbin/nginx"
pid="/usr/local/nginx/logs/nginx.pid"case $1 instart)
$cmd
;;stop)
kill -3 `cat $pid`
;;reload)
kill -1 `cat $pid`
;;restart)
$0 stop
$0 start
;;*)
echo "plaese input start,stop,reload,restart"
exit 1esac
exit 0#方法三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=/usr/bin/kill -s HUP $MAINPID
ExecStop=/usr/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target##配置参数解释##
[Unit]
Description=nginx                     ####描述
After=network.target                 ####描述服务类别
[Service]
Type=forking                                             ###后台运行形式
PIDFile=/usr/local/nginx/logs/nginx.pid                   ###PID文件位置
ExecStart=/usr/local/nginx/sbin/nginx                     ###启动服务
ExecReload=/usr/bin/kill -s HUP $MAINPID             ###根据PID重载配置
ExecStop=/usr/bin/kill -s QUIT $MAINPID                ###根据PID终止进程
PrivateTmp=true
[Install]
WantedBy=multi-user.target
[root@localhost opt]# systemctl daemon-reload ##重载服务[root@localhost opt]# systemctl start nginx.service##启动服务

编译安装mysql5.7

安装Mysql环境依赖包

[root@localhost opt]# yum -y install \
ncurses \
ncurses-devel \
bison \
cmakeyum -y install pcre-devel zlib-devel gcc gcc-c++ make
#安装依赖关系

[root@localhost opt]# useradd -s /sbin/nologin  mysql#创建运行用户    -s 禁止登录shell[root@localhost opt]# ls
Discuz_X3.4_SC_UTF8.zip  mysql-5.7.20  mysql-boost-5.7.20.tar.gz  nginx-1.12.0  nginx-1.12.0.tar(1).gz  php-7.1.10.tar.bz2  rh
[root@localhost opt]# cd mysql-5.7.20/#编译
[root@localhost 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_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-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
#指定mysql的安装路径
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
#指定mysql进程监听套接字文件(数据库连接文件)的存储路径
-DSYSCONFDIR=/etc \
#指定配置文件的存储路径
-DSYSTEMD_PID_DIR=/usr/local/mysql \
#指定进程文件的存储路径
-DDEFAULT_CHARSET=utf8  \
#指定默认使用的字符集编码,如utf8
-DDEFAULT_COLLATION=utf8_general_ci \
#指定默认使用的字符集校对规则
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
#安装INNOBASE存储引擎
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
#安装ARCHIVE存储引擎
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
#安装BLACKHOLE存储引擎
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
#安装FEDERATED存储引擎
-DMYSQL_DATADIR=/usr/local/mysql/data \
#指定数据库文件的存储路径
-DWITH_BOOST=boost \
#指定boost的路径,
-DWITH_SYSTEMD=1
#生成便于systemctl管理的文件[root@localhost mysql-5.7.20]# make && make install#安装

配置MySQL

[root@localhost ~]# chown -R mysql:mysql /usr/local/mysql/chown -R 递归  改变属主[root@localhost ~]# 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 = 1sql_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_QUOTESNO_ENGINE_SUBSTITUTION
如果需要的存储引擎被禁用或未编译,那么抛出错误。不设置此值时,用默认的存储引擎替代,并抛出一个异常
STRICT_TRANS_TABLES
在该模式下,如果一个值不能插入到一个事务表中,则中断当前的操作,对非事务表不做限制
NO_AUTO_CREATE_USER
禁止:GRANT创建密码为空的用户
NO_AUTO_VALUE_ON_ZERO
mysql中的自增长列可以从o开始。默认情况下自增长列是从1开始的,如果你插入值为0的数据会报错
NO_ZERO_IN_DATE
mysql数据库不允许插入零日期,插入零日期会抛出错误而不是警告
ERROR_FOR_DIVISION_BY_ZERO
在INSERT或UPDATE过程中,如果数据被零除,则产生错误而非警告。默认情况下数据被零除时MysQL返回NULL
IPES_AS_CONCAT
将"||"视为字符串的连接操作符而非或运算符,这和oracle数据库是一样的,
ANSI QUOTES
启用ANSI QUOTES后,不能用双引号来引用字符串,因为它被解释为识别符

加入系统环境变量

[root@localhost ~]# chown mysql:mysql /etc/my.cnf#改属主 和属组
[root@localhost ~]# echo 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile#加入系统环境变量
[root@localhost ~]# echo 'export PATH' >> /etc/profile   #声明变量
[root@localhost ~]# source /etc/profile       #刷新

系统环境变量的设置

环境变量的设置
一般来说,配置交叉编译工具链的时候需要指定编译工具的路径,此时就需要设置环境变量。例如我的mips-linux-gcc编译器在“/opt /au1200_rm/build_tools/bin”目录下,build_tools就是我的编译工具,则有如下三种方法来设置环境变量:1.直接用export命令:
#export PATH=$PATH:/opt/au1200_rm/build_tools/bin
查看是否已经设好,可用命令export查看:
可以看到,环境变量已经设好,PATH里面已经有了我要加的编译器的路径。2.修改profile文件:
#vi /etc/profile
在里面加入:
export PATH="$PATH:/opt/au1200_rm/build_tools/bin"让环境变量立即生效需要执行如下命令:
#source /etc/profile3.修改.bashrc文件:
# vi /root/.bashrc
在里面加入:
export PATH="$PATH:/opt/au1200_rm/build_tools/bin"后两种方法一般需要重新注销系统才能生效,最后可以通过echo命令测试一下:
# echo $PATH
看看输出里面是不是已经有了/my_new_path这个路径了。

初始化数据库

[root@localhost ~]# cd /usr/local/mysql/[root@localhost mysql]# bin/mysqld \
> --initialize-insecure \
> --user=mysql \
> --basedir=/usr/local/mysql \
> --datadir=/usr/local/mysql/datacp usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/

数据库开启自启、 关闭、状态 

systemctl enable mysqld
#开机自启systemctl start mysqld
#开启数据库systemctl stop mysqld
#停止数据库systemctl status mysqld
#查看启动状态netstat -anpt | grep 3306
#查看端口 并过滤 

设置Mysql密码

设置Mysql密码mysqladmin -u root -p password登录数据库
mysql -u root -p

安装配置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

编译安装

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
php有三个配置文件php.ini 核心配置文件
php-fpm.conf 进程服务配置文件
www.conf  扩展配置文件

配置php

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模块

[root@localhost php-7.1.10]# cd /usr/local/php/etc/
[root@localhost etc]# cp  php-fpm.conf.default php-fpm.conf
[root@localhost etc]# cd /usr/local/php/etc/php-fpm.d/
[root@localhost php-fpm.d]# cp www.conf.default www.conf
[root@localhost php-fpm.d]# cd /usr/local/php/etc/
[root@localhost etc]# vi php-fpm.conf

/usr/local/php/sbin/php-fpm -c /usr/local/php/lib/php.ini
netstat -anpt | grep 9000ln -s /usr/local/php/bin/* /usr/local/bin/ps aux | grep -c "php-fpm"  

nginx加入PHP功能

vi /usr/local/nginx/conf/nginx.conf  //在合适的位置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; ####注意目录名称include        fastcgi_params;
}

vi /usr/local/nginx/html/index.php
<?php
phpinfo();
?>
systemctl restart nginx在网页测试“http://192.168.159.101/index.php”

测试数据库工作是否正常

mysql -u root -p     #输入密码  并登录CREATE DATABASE bbs;
#创建一个数据库GRANT all ON bbs.* TO 'bbsuser'@'%' IDENTIFIED BY 'admin123';
#把bbs数据库里面所有表的权限授予给bbsuser,并设置密码//  所有访问来源/渠道GRANT all ON bbs.* TO 'bbsuser'@'localhost' IDENTIFIED BY 'admin123';flush privileges;刷新数据库//

编辑网页

vi /usr/local/nginx/html/index.php      <?php
$link=mysqli_connect('192.168.195.128','bbsuser','admin123');
if($link) echo "<h1>Success!!</h1>";
else echo "Fail!!";
?>
systemctl restart nginx
#重启服务在网页测试 http://192.168.159.101/index.php

LNMP应用部署之 部署 Discuz!社区论坛 Web 应用

安装论坛

cd /optunzip Discuz_X3.4_SC_UTF8.zip
#解压准备好的包 解压到 /opt/ 目录下
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/

网页设置

源码编译安装LNMP平台(使用Linux, Nginx,MySQL与PHP搭建论坛)相关推荐

  1. debian源码编译安装mysql5.6_MySQL 5.6 Linux Debian/Ubuntu源码编译安装 LNMP之MySQL

    安装所需依赖和工具apt-get install make gcc g++ libncurses5-dev cmake bison 配置cmake编译参数cmake . -DCMAKE_INSTALL ...

  2. 源码编译安装LNMP

    Nginx是一种最重要的技能,在公司里可以不会其他的,nginx精通了你也可以所向披靡. 这篇文章也许是有史以来最长的文章了,没有之一. LNMP=Linux Nginx MysqlPHP nginx ...

  3. CentOS 7上源码编译安装和配置LNMP Web+phpMyAdmin服务器环境

    什么是LNMP? LNMP(别名LEMP)是指由Linux, Nginx, MySQL/MariaDB, PHP/Perl/Python组合成的动态Web应用程序和服务器,它是一组Web应用程序的基础 ...

  4. LNMP架构环境搭建之mysql源码编译安装

    Mysql MySQL是一个开源的数据库,在互联网行业应用的很广泛,下面来记录一下从源码编译安装的步骤,当然,MySQL也有其他安装方式,比如,使用yum下载安装rpm包,或者二进制方式安装,如果机器 ...

  5. mysql5.5.8编译安装_Mysql应用linux下mysql 5.5.8 源码编译安装

    <MysqL应用linux下MysqL 5.5.8 源码编译安装>要点: 本文介绍了MysqL应用linux下MysqL 5.5.8 源码编译安装,希望对您有用.如果有疑问,可以联系我们. ...

  6. 源码编译安装git过程记录

    工作上需要使用一台装有银河麒麟的操作系统的计算机.这台计算机cpu是arm架构的并且没有预装git.下面介绍我如何在这样一台预装软件较少的计算机上用源码安装git 目录 1 源码安装autoconf ...

  7. Linux LNMP源码架构部署 | Nginx服务 | Mysql服务 | php服务 | 论坛源码编译安装 | 超详细

    | Nginx服务 | Mysql服务 | php服务 | 论坛源码编译安装 | ➤安装 Nginx 服务 ➤1.关闭防火墙和安全机制 ➤2.卸载自带的httpd服务 ➤3.安装依赖包 ➤4.创建运行 ...

  8. centos lnmp源码安装mysql_CentOS 6.6 下源码编译安装MySQL 5.7.5

    说明:CentOS 6.6 下源码编译安装MySQL 5.7.5 1. 安装相关工具 # yum -y install gcc-c++ ncurses-devel cmake make perl \ ...

  9. 【Python 笔记】Linux 下源码编译安装 python

    本文记录在 Linux 上源码编译安装 python 的过程. 文章目录 1. 源码编译安装说明 2. 安装 python2.7 3. 安装 python3.6 1. 源码编译安装说明 安装过程比我想 ...

最新文章

  1. RDKit | 基于不同描述符和指纹的机器学习模型预测logP
  2. 无法修改服务器名称_经典怀旧服服务器第六期免费角色转移服务10月18日7:00开放...
  3. grep 判断不是正则的_Shell—正则表达式(grep命令、sed工具)
  4. 计算机应用基础课程是过程化考试吗,基于能力的计算机应用基础课程过程化考核标准构建与实施.doc...
  5. 分布式系统「伸缩性」大招之——「弹性架构」详解
  6. Java 线程死锁初理解
  7. 雷神笔记本关闭跳出垃圾游戏广告
  8. SpringMVC入门简单静态资源处理
  9. python catia 接口_使用Python在CATIA中创建新产品
  10. DELL服务器运行硬件检测
  11. win7共享计算机的用户名和密码,win7文件共享访问需要输入用户名和密码如何解决...
  12. 水星怎么设置网速最快_设置水星无线路由器限制网速的实现方法
  13. 这10部功夫片曾拿到金像奖最佳动作设计奖,李连杰主演的就有4部
  14. pom parent 标签
  15. 【模块化那些事】 拆散的模块化
  16. 半导体存储器件原理概述
  17. python如何编写爬虫程序_python编写网络爬虫程序
  18. 一个北大毕业生决定去送外卖
  19. mindmanager2021思维导图利器有效序列号秘钥
  20. 数字1、2、3、4能组成多少个互不相同且无重复数字的三位数,并将其输出。

热门文章

  1. 把自己拆解成颗粒,然后见到vivo
  2. 如何设置对企业批量的图文档加密?2021企业首选公司文档加密方案,宁波风奥金甲数据防泄漏...
  3. 企业上云服务商之华山论剑
  4. [A-VI] 电路基本元件II
  5. 面试中如何才能拿到阿里 P7 的职级
  6. Halcon 第四章『图像特征与提取』◆第1节:基于区域形状特征
  7. Python 【西瓜视频】的短视频自动上传与发布实例演示,同时支持抖音、快手、哔哩哔哩、小红书、微视、微信视频号等平台的视频自动化同步发布
  8. 企业视频会议系统需要服务器吗,企业选择视频会议租用还是自己搭建
  9. 如何设计一个公司级别的消息通知系统?
  10. java基于springboot的家庭理财记账