一、编译安装NGINX
1.1 安装依赖包
yum -y install pcre-devel zlib-devel gcc gcc-c++ make
1.2新建用户 组便于管理(nginx 服务程序默认 以 nobody 身份运行,建议为其创建专门的用户账户,以便更准确的控制访问权限)
useradd -M -s /sbin/nologin nginx
1.3将安装包拖入/opt
1.4编译安装Nginx
cd /opt
tar zxvf nginx-1.12.0.tar.gz -C /opt 解压安装包
cd nginx-1.12.0/
编译
./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/
定义变量
[root@localhost nginx-1.12.0]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
1.5进入目录并配置仓库
[root@localhost nginx-1.12.0]# cd /lib/systemd/system
[root@localhost system]# vim 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
新建
useradd -M -s /sbin/nologin nginx
执行操作
[root@localhost system]# ss -ntap |grep 80
[root@localhost system]# systemctl start nginx.service
[root@localhost system]#
[root@localhost system]# ss -ntap |grep 80
LISTEN 0 128 *:80 *:* users:(("nginx",pid=6057,fd=6),("nginx",pid=6056,fd=6))
[root@localhost system]# systemctl stop nginx.service
[root@localhost system]# ss -ntap |grep 80
1.6到目录下进行解压
[root@localhost system]# cd /opt
[root@localhost opt]# ls
Discuz_X3.4_SC_UTF8.zip nginx-1.12.0.tar(1).gz
mysql-boost-5.7.20.tar.gz php-7.1.10.tar.bz2
nginx-1.12.0
[root@localhost opt]# tar zxf mysql-boost-5.7.20.tar.gz
[root@localhost opt]# ls
Discuz_X3.4_SC_UTF8.zip nginx-1.12.0
mysql-5.7.20 nginx-1.12.0.tar(1).gz
mysql-boost-5.7.20.tar.gz php-7.1.10.tar.bz2
[root@localhost opt]# cd mysql-5.7.20/
[root@localhost mysql-5.7.20]# ls
boost Doxyfile-perfschema mysql-test storage
BUILD extra mysys strings
client include mysys_ssl support-files
cmake INSTALL packaging testclients
CMakeLists.txt libbinlogevents plugin unittest
cmd-line-utils libbinlogstandalone rapid VERSION
config.h.cmake libevent README vio
configure.cmake libmysql regex win
COPYING libmysqld scripts zlib
dbug libservices sql
Docs man sql-common
二、编译安装mysql5.7
2.1 安装Mysql环境依赖包
[root@localhost ~]# yum -y install \
ncurses \
ncurses-devel \
bison \
cmake
2.2 创建运行用户
[root@localhost ~] useradd -s /sbin/nologin mysql
2.3编译安装
[root@localhost opt]# cmake \
-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管理的文件
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
[root@localhost opt]# make -j8
[ 14%] Building CXX object extra/protobuf/CMakeFiles/protoclib.dir/protobuf-2.6.1/src/google/protobuf/compiler/cpp/cpp_file.cc.o
[ 14%] [ 14%] Building C object mysys/CMakeFiles/mysys.dir/mf_dirname.c.o
Building CXX object extra/protobuf/CMakeFiles/protoclib.dir/protobuf-2.6.1/src/google/protobuf/compiler/cpp/cpp_generator.cc.o
[ 14%] Building C object mysys/CMakeFiles/mysys.dir/mf_fn_ext.c.o
[ 14%] Building C object mysys/CMakeFiles/mysys.dir/mf_format.c.o
[ 14%] Building C object mysys/CMakeFiles/mysys.dir/mf_getdate.c.o
[ 14%] [ 14%] [ 14%] Building C object mysys/CMakeFiles/mysys.dir/mf_iocache.c.o
Building CXX object extra/protobuf/CMakeFiles/protoclib.dir/protobuf-2.6.1/src/google/protobuf/compiler/cpp/cpp_helpers.cc.o
Building CXX object extra/protobuf/CMakeFiles/protoclib.dir/protobuf-2.6.1/src/google/protobuf/compiler/cpp/cpp_message.cc.o
[ 14%] Building CXX object extra/protobuf/CMakeFiles/protoclib.dir/protobuf-2.6.1/src/google/protobuf/compiler/cpp/cpp_message_field.cc.o
[ 14%] Building CXX object extra/protobuf/CMakeFiles/prot
make install
2.4调取数据库权限
[root@localhost mysql-5.7.20]#chown -R mysql:mysql /usr/local/mysql/
2.5修改配置文件
[root@localhost mysql-5.7.20]# 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
2.6修改变量环境
[root@localhost mysql-5.7.20]#chown mysql:mysql /etc/my.cnf
[root@localhost mysql-5.7.20]# echo 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile
[root@localhost mysql-5.7.20]# source /etc/profile
[root@localhost mysql-5.7.20]# echo $PATH
/usr/local/mysql/bin:/usr/local/mysql/lib:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
```c
cd /usr/local/mysql/
初始化数据库
bin/mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data
复制到另外一个文件
```c
cp usr/lib/systemd/system/mysqld.service
/usr/lib/systemd/system/
2.7 数据库开启自启、 关闭、状态
systemctl enable mysqld
systemctl start mysqld
systemctl stop mysqld
systemctl status mysqld
netstat -anpt | grep 3306
2.8设置Mysql密码
mysqladmin -u root -p password
回车,123,123
登录数据库
mysql -u root -p
查看表格
show databases;
exit; 退出
三、编译安装
3.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
3.2解压安装包
cd /opt
tar jxf php-7.1.10.tar.bz2
cd php-7.1.10
3.3编译
./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 -j2 && make install
3.4复制到另一个文件
cp php.ini-development /usr/local/php/lib/php.ini
cd /usr/local/php/lib/
3.5修改配置文件
vim php.ini
第1170行: mysqli.default_socket = /usr/local/mysql/mysql.sock
第939行: date.timezone = Asia/Shanghai
验证安装的模块
/usr/local/php/bin/php -m
四、配置及优化FPM模块
1.cd /usr/local/php/etc/
2.cp php-fpm.conf.default php-fpm.conf
3.vim php-fpm.conf
pid = run/php-fpm.pid #最前面的;去掉
4…cd /usr/local/php/etc/php-fpm.d/
5.cp www.conf.default www.conf
6./usr/local/php/sbin/php-fpm -c /usr/local/php/lib/php.ini
7.ss -ntap |grep 9000
8.ln -s /usr/local/php/bin/* /usr/local/bin/
五、以下是让nginx支持PHP功能
1.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;
include fastcgi_params;
}
2.nginx -t 验证语法的正确性
3.cd /usr/local/nginx/html/
4.mv index.php index.html
5.vim index.php
<?php
phpinfo();
?>
6.systemctl restart nginx
在网页测试“http://192.168.139.100/index.php”
六、下面测试数据库工作是否正常
1.mysql -u root -p #########输入123密码
2.下面四行
CREATE DATABASE bbs;
GRANT all ON bbs.* TO 'bbsuser'@'%' IDENTIFIED BY 'admin123';
GRANT all ON bbs.* TO 'bbsuser'@'localhost' IDENTIFIED BY 'admin123';
flush privileges;
show databases;
quit
########以下安装论坛##########
3.cd /opt
4.unzip Discuz_X3.4_SC_UTF8.zip
5.cd dir_SC_UTF8/
6.cp -r upload/ /usr/local/nginx/html/bbs/
7.cd /usr/local/nginx/html/bbs/
8.下面八行
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/
http://192.168.157.102/bbs/install/index.php
##
数据库服务器:localhost ###本地架设就用localhost,如何不是在在本机上就要填写IP地址和端口号
数据库名字:bbs
数据库用户名:bbsadm
数据库密码:admin123
管理员账号:admin
管理员密码:admin123
#
http://192.168.91.100/bbs/index.php #访问网页
http://IP/bbs/admin.php //管理后台
账户:admin
密码:admin123