LNMP+Discuz的搭建

目录

一、关闭防火墙

二、安装Nginx服务 

1.安装依赖包

2.上传并解压压缩包 

3.编译安装 

4.优化路径 

5.创建运行用户 

6.添加nginx系统服务 

7.修改权限并启动服务 

三、安装MySQL服务 

1.安装环境依赖包

2.上传并解压压缩包 

3.编译安装 

4.修改配置文件

5.创建运行用户 

6.更改mysql安装目录和配置文件的属主属组 

7.设置路径环境变量 

8.初始化数据库 

9.添加mysql系统服务 

10.修改mysql的登录密码 

11.授权远程登录 

四、安装PHP解析环境 

1.安装依赖包

2.上传并解压压缩包 

3.编译安装 

4.路径优化 

5.修改配置文件 

6.调整进程服务配置文件 

7.调整扩展配置文件  

8. 启动php-fpm

9.配置nginx支持php解析 

10.验证PHP测试页 

11.浏览器访问 

12.验证数据库工作是否正常 

五、部署Discuz社区论坛WEB应用 

1.上传并解压压缩包

2.调整论坛目录权限 

3.访问论坛页面 

六、扩展(fpm参数优化)


一、关闭防火墙

systemctl stop firewalld

systemctl disable firewalld

setenforce 0

二、安装Nginx服务 

1.安装依赖包

yum -y install pcre-devel zlib-devel gcc gcc-c++ make

2.上传并解压压缩包 

cd /opt

tar zxvf nginx-1.12.0.tar.gz

3.编译安装 

cd nginx-1.12.0/

./configure \

--prefix=/usr/local/nginx \

--user=nginx \

--group=nginx \

--with-http_stub_status_module

make && make install

4.优化路径 

ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/

5.创建运行用户 

useradd -M -s /sbin/nologin nginx

6.添加nginx系统服务 

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

7.修改权限并启动服务 

chmod 754 /lib/systemd/system/nginx.service

systemctl start nginx.service

systemctl enable nginx.service

三、安装MySQL服务 

1.安装环境依赖包

yum -y install ncurses ncurses-devel bison cmake

2.上传并解压压缩包 

cd /opt

tar zxvf mysql-boost-5.7.20.tar.gz

3.编译安装 

cd /opt/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_EXTRA_CHARSETS=all \
-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

4.修改配置文件

vim /etc/my.cnf


[client]
port = 3306
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
bind-address = 0.0.0.0
skip-name-resolve
max_connections=2048
default-storage-engine=INNODB
max_allowed_packet=16M
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
 

5.创建运行用户 

useradd -M -s /sbin/nologin  mysql

6.更改mysql安装目录和配置文件的属主属组 

chown -R mysql:mysql /usr/local/mysql/

chown mysql:mysql /etc/my.cnf

7.设置路径环境变量 

echo 'export PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile

source /etc/profile

8.初始化数据库 

cd /usr/local/mysql/bin/

./mysqld \

--initialize-insecure \

--user=mysql \

--basedir=/usr/local/mysql \

--datadir=/usr/local/mysql/data

9.添加mysql系统服务 

cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/

systemctl daemon-reload

systemctl start mysqld.service

systemctl enable mysqld

10.修改mysql的登录密码 

mysqladmin -u root -p password "123"

11.授权远程登录 

mysql -u root -p

四、安装PHP解析环境 

1.安装依赖包

yum -y install gd \

libjpeg libjpeg-devel \

libpng libpng-devel \

freetype freetype-devel \

libxml2 libxml2-devel \

zlib zlib-devel \

curl curl-devel \

openssl openssl-devel

2.上传并解压压缩包 

cd /opt

tar zxvf php-7.1.24.tar.gz

3.编译安装 

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

4.路径优化 

ln -s /usr/local/php/bin/* /usr/local/bin/

ln -s /usr/local/php/sbin/* /usr/local/sbin/

5.修改配置文件 

cp /opt/php-7.1.24/php.ini-development /usr/local/php/lib/php.ini

vim /usr/local/php/lib/php.ini

939行取消注释,修改

date.timezone = Asia/Shanghai

1170行修改

mysqli.default_socket = /usr/local/mysql/mysql.sock

php -m  #验证安装模块

6.调整进程服务配置文件 

cd /usr/local/php/etc/

cp  php-fpm.conf.default php-fpm.conf

vim php-fpm.conf

17行去掉";"注释

pid = run/php-fpm.pid

7.调整扩展配置文件  

cd /usr/local/php/etc/php-fpm.d/

cp www.conf.default www.conf

8. 启动php-fpm

/usr/local/php/sbin/php-fpm -c /usr/local/php/lib/php.ini

netstat -anpt | grep 9000

cd /opt/php-7.1.24/sapi/fpm

cp php-fpm.service /usr/lib/systemd/system/php-fpm.service

systemctl restart php-fpm.service

9.配置nginx支持php解析 

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;

}

systemctl restart nginx.service

10.验证PHP测试页 

vim /usr/local/nginx/html/index.php

<?php

phpinfo();

?>

11.浏览器访问 

http://172.16.58.20/index.php

12.验证数据库工作是否正常 

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;

vim /usr/local/nginx/html/index.php       #替换原来的测试页内容

<?php

$link=mysqli_connect('192.168.80.10','bbsuser','admin123');

if($link) echo "<h1>Success!!</h1>";

else echo "Fail!!";

?>

五、部署Discuz社区论坛WEB应用 

1.上传并解压压缩包

cd /opt

unzip Discuz_X3.4_SC_UTF8.zip  -d /opt/dis

cd /opt/dis/dir_SC_UTF8/

cp -r upload/ /usr/local/nginx/html/bbs/

2.调整论坛目录权限 

cd /usr/local/nginx/html/bbs/

chown -R nginx ./config/

chown -R nginx ./data/

chown -R nginx ./uc_client/

chown -R nginx ./uc_server/

chmod -R 777 ./config/

chmod -R 777 ./data/

chmod -R 777 ./uc_client/

chmod -R 777 ./uc_server/

3.访问论坛页面 

http://172.16.58.20/bbs/index.php

http://172.16.58.20/bbs/admin.php

六、扩展(fpm参数优化)

vim /usr/local/php/etc/php-fpm.conf

pid = run/php-fpm.pid

第17行取消注释

vim /usr/local/php/etc/php-fpm.d/www.conf

102行

pm = dynamic #fpm进程启动方式,动态的

113行

pm.max_children=20     #fpm进程启动的最大进程数

118行

pm.start_servers = 5 #动态方式下启动时默认开启的进程数,在最小和最大之间

123行

pm.min_spare_servers = 2 #动态方式下最小空闲进程数

128行

pm.max_spare_servers = 8 #动态方式下最大空闲进程数

重启php-fpm

kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid`

netstat -anpt | grep 9000

ps -elf | grep php-fpm

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值