LNMP架构的源码编译
目录
一、编译安装Nginx
1关闭防火墙
2 安装依赖包
3 创建运行用户
4 编译安装
5路径优化
6 添加 Nginx 系统服务
二、编译安装MySQL服务
1.安装依赖环境
2.创建运行用户
3.编译安装
4.数据库目录进行权限调整
5.调整配置文件
6.设置环境变量
7.初始化数据库
8.数据库开启自启、 关闭、状态
9、设置Mysql密码
10.登录数据库
三、安装配置php文件
1.安装环境依赖包
2.编译安装
3.修改php三个配置文件
4. 验证PHP 测试页
四、部署论坛
1.部署
2.在网页测试
一、编译安装Nginx
1关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
2 安装依赖包
yum -y install pcre-devel zlib-devel gcc gcc-c++ make
3 创建运行用户
useradd -M -s /sbin/nologin nginx
4 编译安装
#切换至/opt
cd /opt
#解压nginx文件
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 -j4
5路径优化
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
6 添加 Nginx 系统服务
#创建.service文件
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
##磁盘上的ngin服务更改,运行'systemctl daemon-reload'重新加载单元。
systemctl daemon-reload
systemctl start nginx
二、编译安装MySQL服务
1.安装依赖环境
yum -y install \
ncurses \
ncurses-devel \
bison \
cmake
2.创建运行用户
useradd -s /sbin/nologin mysql
3.编译安装
#切换至/opt
cd /opt/
#解压下载好的压缩包
tar -zxf mysql-boost-5.7.20.tar.gz
#切换至解压后的目录
cd 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
#安装
make && make install -j4
4.数据库目录进行权限调整
chown -R mysql:mysql /usr/local/mysql/
5.调整配置文件
#进入配置文件,把内容全删掉,然后加入以下内容
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
6.设置环境变量
echo 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile
echo 'export PATH' >> /etc/profile
7.初始化数据库
#切换至指定目录
cd /usr/local/mysql/
#初始化数据库
bin/mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data
#拷贝文件
cp usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/
8.数据库开启自启、 关闭、状态
#开启自启
systemctl enable mysqld
#启动
systemctl start mysqld
#关闭
systemctl stop mysqld
#查看状态
systemctl status mysqld
#看有没有开启成功
netstat -anpt | grep 3306
9、设置Mysql密码
mysqladmin -u root -p password
10.登录数据库
mysql -u root -p
三、安装配置php文件
1.安装环境依赖包
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.编译安装
#切换至/opt目录
cd /opt/
#解压文件
tar -jxf 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 -j4
3.修改php三个配置文件
#三个配置文件
php.ini 核心配置文件
php-fpm.conf 进程服务配置文件
www.conf 扩展配置文件
#修改php.ini 核心配置文件
#拷贝
cp php.ini-development /usr/local/php/lib/php.ini
#进入核心配置文件
vim /usr/local/php/lib/php.ini
#修改第1170行和939行
1170 mysqli.default_socket = /usr/local/mysql/mysql.sock
939 date.timezone = Asia/Shanghai
#验证安装的模块
/usr/local/php/bin/php -m
#配置及优化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/
#进入进程服务配置文件
vi php-fpm.conf
pid = run/php-fpm.pid #将这一行注释去掉
#创建
/usr/local/php/sbin/php-fpm -c /usr/local/php/lib/php.ini
#查看结果
ps aux | grep -c "php-fpm"
#让nginx支持PHP功能
#进入nginx主配置文件
vi /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;
}
#创建网页文件
vi /usr/local/nginx/html/index.php
<?php
phpinfo();
?>
4. 验证PHP 测试页
#创建网页文件
vi /usr/local/nginx/html/index.php
<?php
phpinfo();
?>
#重启nginx服务
systemctl restart nginx
#在网页测试
“http://192.168.59.118/index.php”
四、部署论坛
1.部署
#登入数据库
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;
#重启服务
systemctl restart nginx
#切换至/opt解压论坛压缩包
cd /opt
unzip Discuz_X3.4_SC_UTF8.zip
#切换至解压后的文件
cd 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/
2.在网页测试
http://192.168.59.118/bbs/install/index.php
#可以直接去论坛首页
http://192.168.59.118/bbs/index.php