解压Nginx
tar zxvf nginx-1.12.2.tar.gz
创建不允许登录系统的用户
useradd -M -s /sbin/nologin nginx
安装编译工具
yum install gcc gcc-c++ pcre-devel zlib-devel -y #c语言和c++的编译器、make编译工具、pcre-devel 开发环境
perl语言是个工具,类似shell脚本,也是支持awk、sed正则表达式的操作,专注于制作正则表达式里的工具,pcre-devel 开发,perl编译器
进入nginx-1.12.2路径下,找到configure文件进行配置
./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module
编译和安装
上面的是配置文件
make && make install
make的过程就是把刚刚的配置文件转换成可执行性文件,能执行的文件就是二进制文件,机器能识别而人识别不了 ,转换成机器能够识别的文件,二进制文件
给 Nginx 创建一个软链接,方便管理
cd /lib/systemd/system/
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
添加脚本文件,便于用 systemctl 工具来进行管理
cd /lib/systemd/system
vim nginx.service
[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
ExecStop=/usr/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
添加权限
chmod 754 nginx.service
开启服务
systemctl start nginx.service
关闭防火墙
systemctl stop firewalled.service #关闭防火墙
setenforce 0 #安全性功能关闭
安装环境包、创建用户
yum -y install \
ncurses \
ncurses-devel \
bison \
cmake
useradd -s /sbin/nologin mysql #创建用户
tar zxvf mysql-boost-5.7.20.tar.gz #解压缩到自定义位置
解压缩后,进入mysql-5.7.20路径下
tar zxvf mysql-boost-5.7.20.tar.gz #解压缩到自定义位置
cd mysql-5.7.20
找到cmake文件,进行配置
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还是分开进行
make && make install
修改mysql权限
cd /usr/local/
chown -R mysql:mysql /usr/local/mysql/
修改my.cnf配置文件,先删除/etc/my.cnf文件中的所有内容,添加以下这段内容
vim /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
环境变量设置
echo 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile #将MySQL写到本地环境配置中
echo 'export PATH' >> /etc/profile #设置全局环境配置
source /etc/profile #启动
初始化数据库
cd /usr/local/mysql/
bin/mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data
把mysql服务配置文件复制到/usr/lib/systemd/system/下便于使用systemctl工具进行管理
cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/
打开服务,检查3306端口是否开启
systemctl start mysql.service #开启mysql服务
netstat -anpt | grep 3306 #查看端口是否开启
设置mysql密码
第一次修改默认无密码,直接输入新密码
mysqladmin -u root -p password
安装环境包
yum -y \
install \
libjpeg \
libjpeg-devel \
libpng libpng-devel \
freetype freetype-devel \
libxml2 \
libxml2-devel \
zlib zlib-devel \
curl curl-devel \
openssl openssl-devel
解压缩文件,进入php-7.1.10目录
tar jxvf php-7.1.10.tar.bz2
cd php-7.1.10
找到configure文件,进行配置
./configure \
--prefix=/usr/local/php \ #安装路径
--with-mysql-sock=/usr/local/mysql/mysql.sock \ #连接文件建立通信桥梁
--with-mysqli \ #客户端支持mysql数据库
--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 #zip压缩包
编译和安装
make && make install
复制配置文件到lib路径下
cp php.ini-development /usr/local/php/lib/php.ini #先复制一份到lib路径下
修改 /usr/local/php/lib/php.ini 文件
vim /usr/local/php/lib/php.ini
mysqli.default_socket = /usr/local/mysql/mysql.sock #指定路径
date.timezone = Asia/Shanghai #指定时区
检验PHP安装模块
/usr/local/php/bin/php -m
配置及优化 FPM 模块
cd /usr/local/php/etc/
cp php-fpm.conf.default php-fpm.conf #复制一份到 php-fpm.conf
vim php-fpm.conf #进入文件
pid = run/php-fpm.pid #开启pid(去掉行首的注释符即可)
cd /usr/local/php/etc/php-fpm.d/
cp www.conf.default www.conf #复制扩展包
启动PHP、并检查9000端口是否打开
/usr/local/php/sbin/php-fpm -c /usr/local/php/lib/php.ini
netstat -napt | grep 9000
创建软链接
ln -s /usr/local/php/bin/* /usr/local/bin/
设置让 nginx 支持 PHP
vim /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;
}
重启nginx服务
systemctl restart nginx
新建文件设置PHP首页
cd /usr/local/nginx/html
vim index.php
重启nginx服务
systemctl stop nginx.service
systemctl start nginx.service
打开浏览器,输入"http://192.168.15.133/index.php"来进行测试
进入数据库
mysql -u root -p
创建bbs数据库,设置用户bbsusers权限
CREATE DATABASE bbs;
GRANT all ON bbs.* TO 'bbsuser'@'%' IDENTIFIED BY 'admin123';
GRANT all ON bbs.* TO 'bbsuser'@'localhost' IDENTIFIED BY 'admin123';
flush privileges;
解压缩Discuz_X3.4_SC_UTF8.zip文件到自定义位置
unzip Discuz_X3.4_SC_UTF8.zip -d /opt/Discuz #-d后设置自定义位置
授权
cd dir_SC_UTF8/
cp -r upload/ /usr/local/nginx/html/bbs
在数据库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/
进入网站安装论坛测试
192.168.15.133/bbs/install/index.php