一、搭建LNMP服务
准备好LNMP所需安装包
1.搭建Nginx服务
Nginx所需安装包
1.关闭防火墙,防止开启自启动
systemctl stop firewalld
setenforce 0
systemctl disable firewalld
[root@server1 ~]# sed -i '/SELINUX/s/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
[root@server1 ~]# grep -v "#" /etc/selinux/config
2.安装依赖包
[root@server1 ~]# yum -y install \
gcc \
gcc-c++ \
make \
pcre-devel \ #是perl语言的正则表达式
zlib-devel \ #软件包的开发包,一个函数库,库里面包括头文件、静态库甚至源码等资源
3.创建一个不可登陆用户
[root@server1 ~]# useradd -M -s /sbin/nologin nginx
4.解压nginx软件包
[root@server1 ~]# tar zxvf nginx-1.12.2.tar.gz
5.配置nginx
[root@server1 ~]# cd nginx-1.12.2/
[root@server1 nginx-1.12.2]# ./configure \
--prefix=/usr/local/nginx \
--user=nginx \ #指定其运行时的账户与组
--group=nginx \
--with-http_stub_status_module #将状态模块启用
6.编译安装
make && make install
7.建立软链接,检查语法
[root@server1 nginx-1.12.2]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ #软链接
[root@server1 nginx-1.12.2]# nginx -t #检查语法
[root@server1 nginx-1.12.2]# nginx #重启服务
[root@server1 nginx-1.12.2]# netstat -anpt | grep nginx #查看服务端口状态
[root@server1 nginx-1.12.2]# killall -1 nginx #安全重启
[root@server1 nginx-1.12.2]# killall -3 nginx #停止服务
8.制作管理脚本
vi /etc/init.d/nginx
#!/bin/bash
#chkconfig:35 76 21
#description:Nginx Service Control
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
9.给脚本文件授权、设置chkconfig管理nginx服务
[root@server1 ~]# chmod +x /etc/init.d/nginx
[root@server1 ~]# chkconfig --add nginx
[root@server1 ~]# chkconfig --list
2.搭建Mysql服务
准备Mysql安装包
1.安装依赖包
yum -y install \
ncurses \
ncurses-devel \
bison \
cmake
2.创建不可登陆用户
[root@server1 ~]# useradd -s /sbin/nologin mysql
3.解压Mysql软件包
tar -zxvf mysql-boost-5.7.20.tar.gz
4.cmake配置
[root@server1 ~]#cd mysql-5.7.20/
[root@server1 mysql-5.7.20]# cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ #安装目录 安装路径
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \ #指定套接字文件的存储路径套接字:客户端访问mysql数据库的一个接口
-DSYSCONFDIR=/etc \ #配置my. cnf的目录 配置文件路径,(根目录)
-DSYSTEMD_PID_DIR=/usr/local/mysql \ #主服务进程所在路径 (进程文件目录)
-DDEFAULT_CHARSET=utf8 \ #默认字符集
-DDEFAULT_COLLATION=utf8_general_ci \ #默认编码
-DWITH_INNOBASE_STORAGE_ENGINE=1 \ #启用InnoDB引擎
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \ #启用ARCHIVE引擎
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ #启用BLACKHOLE引擎
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \ #启用perfschema引擎
-DMYSQL_DATADIR=/usr/local/mysql/data \ #数据存储路径 (数据库目录)
-DWITH_BOOST=boost \ #boost库是为C++语言标准库提供扩展的一些C++程序库的总称
-DWITH_SYSTEMD=1 #这是mysql5.7原生支持systemd的选项,如果用systemctl启动,就必须开启
5.编译安装
make && make install
6.编辑配置文件
[root@server1 ~]# 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
7.数据库权限配置,属主,属组
[root@server1 mysql-5.7.20]# chown -R mysql:mysql /usr/local/mysql/
[root@server1 mysql-5.7.20]# chown mysql:mysql /etc/my.cnf
8.设置环境变量(重定向输入环境,赋值)
[root@server1 ~]# echo 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile
[root@server1 ~]# source /etc/profile
[root@server1 ~]# echo $PATH
9.初始化数据库
[root@server1 ~]# mysqld \
--initialize-insecure \ #生成一个空密码,不配置系统会自动生成一个密码
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data
10.拷贝文件并服务启动
[root@server1 ~]# cd /usr/local/mysql/
[root@server1 mysql]# cp usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system
[root@server1 mysql]# cd
[root@server1 ~]# systemctl enable mysqld
[root@server1 ~]# systemctl start mysqld
[root@server1 ~]# systemctl status mysqld
11.设置密码
[root@server1 ~]# mysqladmin -uroot -p password 'fa123'
[root@server1 ~]# mysql -uroot -p
3.搭建PHP服务
准备php安装包
1.yum安装依赖环境
yum -y install \
> libjpeg \
> libjpeg-devel \
> libpng libpng-devel \
> freetype freetype-devel \
> libxml2 \
> libxml2-devel \
> zlib zlib-devel \
> curl curl-devel \
> openssl openssl-devel
2.解压依赖包
tar -jxvf php-7.1.10.tar.bz2
3.configure配置
[root@server1 ~]# cd php-7.1.10/
[root@server1 php-7.1.10]# ./configure \
--prefix=/usr/local/php \
--with-mysql-sock=/usr/lcoal/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
4.编译安装
make && make install
5.编辑配置文件
[root@server1 php-7.1.10]# cp php.ini-development /usr/local/php/lib/php.ini
[root@server1 php-7.1.10]# vi /usr/local/php/lib/php.ini
[root@server1 php-7.1.10]# /usr/local/php/bin/php -m | wc -l #查看安装的模块数
添加:
mysqli.default_socket = /usr/local/mysql/mysql.sock
添加:
date.timezone = Asia/Shanghai
6.配置及优化FPM模块
[root@server1 php-7.1.10]# cd
[root@server1 ~]# cd /usr/local/php/etc/
[root@server1 etc]# cp php-fpm.conf.default php-fpm.conf
[root@server1 etc]# cd /usr/local/php/etc/php-fpm.d/
[root@server1 php-fpm.d]# cp www.conf.default www.conf
[root@server1 php-fpm.d]# cd /usr/local/php/etc/
[root@server1 etc]# vi php-fpm.conf
[root@server1 etc]# cd
pid = run/php-fpm.pid #去掉;
6.1 启动fpm模块
php启动时,启动php-fpm模块,模块启动时会生成9000号端口,即FastCGI接口
[root@server1 ~]# /usr/local/php/sbin/php-fpm -c /usr/local/php/lib/php.ini #手动启动
[root@server1 ~]# netstat -anpt | grep 9000
6.2 创建链接
#让/usr/local/php/bin下生成的所有命令都链接到/use/bin下
[root@server1 ~]# ln -s /usr/local/php/bin/* /usr/bin/
- 让Nginx支持PHP功能
[root@server1 ~]# vi /etc/nginx.conf
[root@server1 ~]# nginx -t
[root@server1 ~]# systemctl stop nginx
[root@server1 ~]# systemctl start nginx
添加、取消注释
7.2 创建php网页
[root@server1 ~]# vi /usr/local/nginx/html/index.php
编写:
<?php
phpinfo();
?>
测试:
20.0.0.13/index.php
3.1 测试数据库
1.配置数据库
[root@server1 ~]# mysql -u root -pfa123
mysql> create database fa; #创建数据库
mysql> grant all privileges on fa.* to 'fauser'@'localhost' identified by 'admin123'; #本地授权
mysql> grant all privileges on fa.* to 'fauser'@'%' identified by 'admin123'; #远程授权
mysql> flush privileges; #刷新
mysql> show databases; #查看数据库表
2.配置php网页
[root@server1 ~]# vi /usr/local/nginx/html/index.php
[root@server1 ~]# systemctl stop nginx
[root@server1 ~]# systemctl starts nginx
$link 变量
mysql_connect 连接信息
20.0.0.13 本机地址
fauser 数据库登录名
admin123 登录密码
编写:
<?php
$link=mysql_connect('20.0.0.13','fauser','admin123');
if($link) echo "<h1>Sucess!</h1>";
else echo "Fail!";
?>
测试:
20.0.0.13/index.php
四、部署论坛
准备好安装包
1.解压安装包
unzip Discuz_X3.4_SC_UTF8.zip
2.给论坛的文件加权限
[root@server1 ~]# cd dir_SC_UTF8/
[root@server1 dir_SC_UTF8]# cp -r upload/ /usr/local/nginx/html/fa
[root@server1 dir_SC_UTF8]# cd /usr/local/nginx/html/fa
[root@server1 fa]# chown -R root.nginx ./config/
[root@server1 fa]# chown -R root.nginx ./data/
[root@server1 fa]# chown -R root.nginx ./uc_server/
[root@server1 fa]# chown -R root.nginx ./uc_client/
[root@server1 fa]# chmod -R 777 ./config
[root@server1 fa]# chmod -R 777 ./data/
[root@server1 fa]# chmod -R 777 ./uc_server/
[root@server1 fa]# chmod -R 777 ./uc_client/
安装论坛:
http://20.0.0.13/fa/install/index.php
数据库服务器:localhost
数据库名字:fa
数据库用户名:fauser
数据库密码:admin123
管理员账号:root
管理员密码:123456
这一步当前状态必须是可写
论坛安装完毕
登录论坛
http://20.0.0.13/fa/index.php
用户账号密码是管理员
root
123456