LNMP安装

本文详细介绍了在CentOS系统上安装Nginx、MySQL和PHP(LNMP)的过程,并演示了如何部署Discuz!社区论坛。包括安装依赖、创建运行用户、编译安装、配置服务、权限调整等关键步骤,最后通过访问测试页验证配置成功。

目录

一、安装Nginx服务

1.安装依赖包

2、创建运行用户

3、编译安装

4、设置软连接

5、添加 Nginx 系统服务

二、安装 MySQL 服务

1、安装Mysql环境依赖包

2、创建运行用户

3、编译安装

4、修改mysql 配置文件

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

6、设置路径环境变量

7、初始化数据库

8、添加mysqld系统服务

9、修改mysql 的登录密码

10、授权远程登录

三、安装配置 PHP 解析环境

1、安装环境依赖包 

2、编译安装

3、路径优化

4、调整PHP配置文件

5、启动php-fpm

6、配置 Nginx 支持 PHP 解析

7、验证PHP测试页

8、验证数据库工作是否正常

四、部署 Discuz!社区论坛 Web 应用

1.调整论坛目录的权限

2.论坛页面访问


一、安装Nginx服务

1.安装依赖包

[root@localhost ~]# systemctl stop firewalld.service    关闭防火墙
[root@localhost ~]# setenforce 0       关闭selinux
[root@localhost ~]# yum -y install pcre-devel zlib-devel gcc gcc-c++ make  安装依赖包

2、创建运行用户

[root@localhost opt]# useradd -M -s /sbin/nologin nginx

3、编译安装

[root@localhost opt]# tar zxvf nginx-1.12.0.tar.gz -C /opt/

[root@localhost opt]# cd nginx-1.12.0/

[root@localhost nginx-1.12.0]# ./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module

[root@localhost nginx-1.12.0]# make && make install

4、设置软连接

[root@localhost nginx-1.12.0]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ 

5、添加 Nginx 系统服务

[root@localhost nginx-1.12.0]# vim /lib/systemd/system/nginx.service

[root@localhost nginx-1.12.0]# chmod 754 /lib/systemd/system/nginx.service   授权
[root@localhost nginx-1.12.0]# systemctl start nginx.service                   开启nginx服务 

二、安装 MySQL 服务

1、安装Mysql环境依赖包

[root@localhost opt]# cd /opt

[root@localhost opt]# yum -y install \
ncurses \
ncurses-devel \
bison \
cmake

2、创建运行用户

[root@localhost opt]# useradd -M -s /sbin/nologin  mysql

3、编译安装

[root@localhost opt]# tar zxvf mysql-boost-5.7.20.tar.gz

[root@localhost opt]# cd /opt/mysql-5.7.20/
[root@localhost 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

[root@localhost mysql-5.7.20]# make && make install

4、修改mysql 配置文件

[root@localhost mysql-5.7.20]# 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、更改mysql安装目录和配置文件的属主属组

[root@localhost mysql-5.7.20]# chown -R mysql:mysql /usr/local/mysql/
[root@localhost mysql-5.7.20]# chown mysql:mysql /etc/my.cnf

6、设置路径环境变量

[root@localhost mysql-5.7.20]# echo 'export PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile    

[root@localhost mysql-5.7.20]# source /etc/profile

7、初始化数据库

[root@localhost mysql-5.7.20]# cd /usr/local/mysql/bin/
[root@localhost bin]#./mysqld \
--initialize-insecure \
--user=mysql \
--datadir=/usr/local/mysql
--basedir=/usr/local/mysql \/data

8、添加mysqld系统服务

[root@localhost bin]# cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/
[root@localhost bin]# systemctl daemon-reload    重启
[root@localhost bin]# systemctl start mysqld.service   打开mysql服务
[root@localhost bin]# systemctl enable mysqld            打开mysqld

9、修改mysql 的登录密码

[root@localhost bin]# mysqladmin -u root -p password "abc123"

10、授权远程登录

[root@localhost bin]# mysql -u root -p
[root@localhost bin]# grant all privileges on *.* to 'root'@'%' identified by 'abc123';

授予root用户可以在所有终端远程登录,使用的密码是abc123,并对所有数据库和所有表有操作权限

mysql> show databases;                             查看当前已有的数据库

mysql> quit;                                                 退出当前数据库

三、安装配置 PHP 解析环境

1、安装环境依赖包 

[root@localhost bin]# 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、编译安装

[root@localhost bin]#  cd /opt
[root@localhost opt]# tar jxvf php-7.1.10.tar.bz2

[root@localhost opt]# cd php-7.1.10
[root@localhost 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

[root@localhost php-7.1.10]# make && make install

3、路径优化

[root@localhost php-7.1.10]# ln -s /usr/local/php/bin/* /usr/local/bin/
[root@localhost php-7.1.10]# ln -s /usr/local/php/sbin/* /usr/local/sbin/

4、调整PHP配置文件

php有三个配置文件: 
php.ini            主配置文件  
php-fpm.conf    进程服务配置文件 
www.conf        扩展配置文件

调整主配置文件

[root@localhost php-7.1.10]# cp /opt/php-7.1.10/php.ini-development /usr/local/php/lib/php.ini    

[root@localhost php-7.1.10]# vim /usr/local/php/lib/php.ini

修改内容 

1170行修改
mysqli.default_socket = /usr/local/mysql/mysql.sock

939行取消注释,修改
date.timezone = Asia/Shanghai

调整进程服务配置文件

[root@localhost php-7.1.10]# cd /usr/local/php/etc/
[root@localhost etc]# cp  php-fpm.conf.default php-fpm.conf
[root@localhost etc]# vim php-fpm.conf
17行去掉";"注释
pid = run/php-fpm.pid

调整扩展配置文件

[root@localhost etc]# cd php-fpm.d/
[root@localhost php-fpm.d]# cp www.conf.default www.conf

5、启动php-fpm

[root@localhost php-fpm.d]# /usr/local/php/sbin/php-fpm -c /usr/local/php/lib/php.ini

[root@localhost php-fpm.d]# netstat -anpt | grep 9000

PHP-FPM(FastCGI Process Manager:FastCGI 进程管理器)是一个 PHPFastCGI 管理器, 由于Nginx服务器不能处理动态页面,需要由 Nginx 把动态请求交给 php-fpm 进程进行解析。

[root@localhost php-fpm.d]# cd /opt/php-7.1.10/sapi/fpm
[root@localhost fpm]# cp php-fpm.service /usr/lib/systemd/system/php-fpm.service
[root@localhost fpm]# systemctl restart php-fpm.service

6、配置 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;    
    将 /scripts 修改为nginx的工作目录
    include        fastcgi_params;
}

systemctl restart nginx.service    重启服务

7、验证PHP测试页

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

<?php
phpinfo();
?>

浏览器访问

http://192.168.174.10/index.php

8、验证数据库工作是否正常

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!!";
?>

浏览器访问

http://192.168.174.10/index.php

四、部署 Discuz!社区论坛 Web 应用

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/

1.调整论坛目录的权限

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/

2.论坛页面访问

http://192.168.174.10/bbs/install/index.php

数据库服务器:localhost 

本地架设就用localhost,如何不是在在本机上就要填写IP地址和端口号

数据库名字:bbs
数据库用户名:bbsuser
数据库密码:admin123
管理员账号:admin
管理员密码:admin123

 

 访问论坛页面:
http://192.168.174.10/bbs/index.php
http://192.168.174.10/bbs/admin.php 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值