LNMP之 nginx搭建论坛

一、编译安装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 
回车,123123

登录数据库

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
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老赵学coding

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值