返回列表 发帖

CentOS8_lnmp1.7_LAMP

LNMP一键安装包的官网:https://lnmp.org/


服务器版本信息:
[root@centos8 ~]# cat /etc/redhat-release
CentOS Linux release 8.2.2004 (Core)
[root@centos8 ~]#
[root@centos8 ~]# uname -r
4.18.0-193.el8.x86_64


这里安装的是LAMP(Apache/MySQL/PHP) ,服务器IP为 192.168.168.154/24

[root@centos8 ~]# tar -zxvf lnmp1.7-full.tar.gz
[root@centos8 ~]# cd lnmp1.7-full
[root@centos8 ~]# CheckMirror=n ./install.sh lamp
注释:CheckMirror=n 使用本地光盘作为Yum源,不需要连公网。

选择数据库版本:
图片2.png
2021-6-25 15:57


设置数据库用户root@localhost的密码:(以下是把密码设置为 888 )
图片3.png
2021-6-25 15:57


启用InnoDB Storage Engine,输入 再按回车键:
图片4.png
2021-6-25 15:58


选择PHP版本:
图片5.png
2021-6-25 15:58


选择是否安装内存优化:
图片6.png
2021-6-25 15:58


需要设置管理员邮箱,该邮箱会在报错时显示在错误页面上:
图片7.png
2021-6-25 15:59


选择Apache的版本:
图片8.png
2021-6-25 15:59


安装或取消安装:
图片9.png
2021-6-25 15:59



下面是全自动安装的^_^ ^_^


安装成功了:(安装好后,最好重启一下服务器)
图片10.png
2021-6-25 16:00



LAMP架构的安装日志:
[root@centos8 ~]# pwd
/root
[root@centos8 ~]# ls
anaconda-ks.cfg  lnmp1.7-full  lnmp1.7-full.tar.gz  lnmp-install.log

[root@centos8 ~]# tail lnmp-install.log
+-------------------------------------------+
Apache is running.
SUCCESS! MySQL running (314018)
State     Recv-Q    Send-Q       Local Address:Port        Peer Address:Port   
LISTEN    0         50                 0.0.0.0:3306             0.0.0.0:*      
LISTEN    0         128                0.0.0.0:22               0.0.0.0:*      
LISTEN    0         128                      *:80                     *:*      
LISTEN    0         128                   [::]:22                  [::]:*      
Install lnmp takes 43 minutes.
Install lnmp V1.7 completed! enjoy it.



自动关闭SELinux的:
图片11.png
2021-6-25 16:02



默认启用防火墙netfilter,禁用防火墙firewalld:
[root@centos8 ~]# systemctl is-enabled iptables
enabled
[root@centos8 ~]# systemctl is-enabled firewalld
disabled


自动修改、保存防火墙规则的:
[root@centos8 ~]# cat /etc/sysconfig/iptables
# Generated by iptables-save v1.8.4 on Sat Feb 27 18:45:52 2021
*filter
:INPUT ACCEPT [914251:960107777]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [228962:16225066]
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 3306 -j DROP
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
COMMIT
# Completed on Sat Feb 27 18:45:52 2021
# Generated by iptables-save v1.8.4 on Sat Feb 27 18:45:52 2021
*security
:INPUT ACCEPT [914087:960090582]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [228962:16225066]
COMMIT
# Completed on Sat Feb 27 18:45:52 2021
# Generated by iptables-save v1.8.4 on Sat Feb 27 18:45:52 2021
*raw
:PREROUTING ACCEPT [914259:960108097]
:OUTPUT ACCEPT [228962:16225066]
COMMIT
# Completed on Sat Feb 27 18:45:52 2021
# Generated by iptables-save v1.8.4 on Sat Feb 27 18:45:52 2021
*mangle
:PREROUTING ACCEPT [914259:960108097]
:INPUT ACCEPT [914259:960108097]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [228962:16225066]
:POSTROUTING ACCEPT [228962:16225066]
COMMIT
# Completed on Sat Feb 27 18:45:52 2021
# Generated by iptables-save v1.8.4 on Sat Feb 27 18:45:52 2021
*nat
:PREROUTING ACCEPT [174:17619]
:INPUT ACCEPT [2:104]
:POSTROUTING ACCEPT [250:18088]
:OUTPUT ACCEPT [250:18088]
COMMIT
# Completed on Sat Feb 27 18:45:52 2021



Apache默认会开机自动启动:
[root@centos8 ~]# systemctl is-enabled httpd
enabled

MySQL默认会开机自动启动:
[root@centos8 ~]# systemctl is-enabled mysql
enabled



操作系统的“进程最大可打开文件数”的查询方法:
[root@centos8 ~]# ulimit -n
65535

操作系统的“进程最大可打开文件数”的修改方法:(已自动修改)
[root@centos8 ~]# tail -5 /etc/security/limits.conf
# End of file
* soft nproc 65535
* hard nproc 65535
* soft nofile 65535
* hard nofile 65535



MySQL的主配置文件:
[root@centos8 ~]# find / -name "my.cnf"
/etc/my.cnf

[root@centos8 ~]# cat /etc/my.cnf |grep -v "^$"
[client]
#password       = your_password
port            = 3306
socket          = /tmp/mysql.sock
[mysqld]
port            = 3306
socket          = /tmp/mysql.sock
datadir = /usr/local/mysql/var
skip-external-locking
key_buffer_size = 32M
max_allowed_packet = 1M
table_open_cache = 128
sort_buffer_size = 768K
net_buffer_length = 8K
read_buffer_size = 768K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
thread_cache_size = 16
query_cache_size = 16M
tmp_table_size = 32M
#skip-networking
max_connections = 500
max_connect_errors = 100
open_files_limit = 65535

log-bin=mysql-bin
binlog_format=mixed
server-id       = 1
expire_logs_days = 10
default_storage_engine = InnoDB
innodb_file_per_table = 1
innodb_data_home_dir = /usr/local/mysql/var
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = /usr/local/mysql/var
innodb_buffer_pool_size = 128M
innodb_additional_mem_pool_size = 2M
innodb_log_file_size = 32M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
[mysqldump]
quick
max_allowed_packet = 16M
[mysql]
no-auto-rehash
[myisamchk]
key_buffer_size = 32M
sort_buffer_size = 768K
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout



重启MySQL:
[root@centos8 ~]# systemctl restart mysql

登录MySQL:
mysql -u"root" -p"888"
图片12.png
2021-6-25 16:04




PHP的主配置文件:
[root@centos8 ~]# find / -name "php.ini"
/usr/local/php/etc/php.ini

查看PHP的版本信息:
[root@centos8 ~]# php -v
PHP 5.6.40 (cli) (built: Feb 27 2021 18:44:16)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies



客户端直接访问服务器IP( http://192.168.168.154 )可以看到这个页面:
图片13.png
2021-6-25 16:06



PHP探针:
http://192.168.168.154/p.php
图片14.png
2021-6-25 16:07

注释:探针路径 /home/wwwroot/default/p.php


PHP测试页:
http://192.168.168.154/phpinfo.php
图片15.png
2021-6-25 16:07




phpMyAdmin:(phpMyAdmin的默认版本是4.9.7,与PHP5.6不匹配,要更换phpMyAdmin的版本)

自带了一些不同版本的phpMyAdmin:
[root@centos8 src]# pwd
/root/lnmp1.7-full/src
[root@centos8 src]# ls phpMyAdmin-*
phpMyAdmin-4.0.10.20-all-languages.tar.xz  phpMyAdmin-4.9.7-all-languages.tar.xz  phpMyAdmin-5.0.4-all-languages.tar.xz


更换phpMyAdmin的版本:
图片16.png
2021-6-25 16:09


图片17.png
2021-6-25 16:09


输入新phpMyAdmin的版本号:
图片18.png
2021-6-25 16:09


图片19.png
2021-6-25 16:09

注释:因为服务器的目录/root/lnmp1.7-full/src里有软件包phpMyAdmin-4.0.10.20-all-languages.tar.xz,所以不会从公网重新下载了。


客户端远程访问phpMyAdmin:
http://192.168.168.154/phpmyadmin/
图片20.png
2021-6-25 16:10


图片21.png
2021-6-25 16:11

注释:数据库的默认字符集是 utf8mb4_general_ci





######
Pureftpd (一款FTP服务器软件)

运行脚本,安装Pureftpd:
[root@centos8 ~]# cd /root/lnmp1.7-full
[root@centos8 lnmp1.7-full]# ./pureftpd.sh

图片22.png
2021-6-25 16:11


Pureftpd安装成功:
图片23.png
2021-6-25 16:12



Pureftpd会随着系统的启动而启动:
[root@centos8 ~]# systemctl is-enabled pureftpd
enabled


启动Pureftpd:
[root@centos8 ~]# systemctl start pureftpd

查看Pureftpd是否运行中:(运行时)
systemctl status pureftpd
图片24.png
2021-6-25 16:13



关闭Pureftpd:
[root@centos8 ~]# systemctl stop pureftpd

查看Pureftpd是否运行中:(关闭时)
图片25.png
2021-6-25 16:13



重启Pureftpd:
[root@centos8 ~]# systemctl restart pureftpd


Pureftpd在防火墙对应的端口:
[root@centos8 ~]# cat /etc/sysconfig/iptables
# Generated by iptables-save v1.8.4 on Wed Jun 23 10:23:30 2021
*filter
:INPUT ACCEPT [284:34963]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [4691:3542642]
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 3306 -j DROP
-A INPUT -p tcp -m tcp --dport 20 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 20000:30000 -j ACCEPT

-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
COMMIT
# Completed on Wed Jun 23 10:23:30 2021
# Generated by iptables-save v1.8.4 on Wed Jun 23 10:23:30 2021
*security
:INPUT ACCEPT [5420:565840]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [4691:3542642]
COMMIT
# Completed on Wed Jun 23 10:23:30 2021
# Generated by iptables-save v1.8.4 on Wed Jun 23 10:23:30 2021
*raw
:PREROUTING ACCEPT [5423:566364]
:OUTPUT ACCEPT [4691:3542642]
COMMIT
# Completed on Wed Jun 23 10:23:30 2021
# Generated by iptables-save v1.8.4 on Wed Jun 23 10:23:30 2021
*mangle
:PREROUTING ACCEPT [5423:566364]
:INPUT ACCEPT [5420:565840]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [4691:3542642]
:POSTROUTING ACCEPT [4691:3542642]
COMMIT
# Completed on Wed Jun 23 10:23:30 2021
# Generated by iptables-save v1.8.4 on Wed Jun 23 10:23:30 2021
*nat
:PREROUTING ACCEPT [574:38281]
:INPUT ACCEPT [573:38233]
:POSTROUTING ACCEPT [207:14987]
:OUTPUT ACCEPT [207:14987]
COMMIT
# Completed on Wed Jun 23 10:23:30 2021






######
添加基于域名的虚拟主机(站点):( 用于 Discuz!7.2 )
lnmp vhost add
图片26.png
2021-6-25 16:14


站点日志:
图片27.png
2021-6-25 16:15


这里不给站点创建数据库了:
图片28.png
2021-6-25 16:16


给此站点创建FTP用户:(这里创建的FTP用户对本站点目录有完全控制的权限)
图片29.png
2021-6-25 16:16


这里不添加SSL证书了:
图片30.png
2021-6-25 16:16



站点 www.zhuohua.store 的配置信息:
图片31.png
2021-6-25 16:17



站点 www.zhuohua.store 的Apache配置文件:
[root@centos8 ~]# cat /usr/local/apache/conf/vhost/www.zhuohua.store.conf
<VirtualHost *:80>
ServerAdmin 2270168881@qq.com
php_admin_value open_basedir "/home/wwwroot/www.zhuohua.store:/tmp/:/var/tmp/:/proc/"
DocumentRoot "/home/wwwroot/www.zhuohua.store"
ServerName www.zhuohua.store
ServerAlias ww.zhuohua.store
ErrorLog "/home/wwwlogs/www.zhuohua.store-error_log"
CustomLog "/home/wwwlogs/www.zhuohua.store-access_log" combined
<Directory "/home/wwwroot/www.zhuohua.store">
    SetOutputFilter DEFLATE
    Options FollowSymLinks
    AllowOverride All #开启此站点的伪静态功能
    Order allow,deny
    Allow from all
    DirectoryIndex index.html index.php
</Directory>
</VirtualHost>


重启LNMP:(会重启Apache、MySQL)
图片32.png
2021-6-25 16:17




######
安装Discuz!7.2

服务器本地的操作:
[root@centos8 ~]# ls -alh *.zip
-rw-r--r-- 1 root root 4.5M 9月   1 2019 Discuz_7.2_FULL_SC_UTF8.zip

[root@centos8 ~]# unzip Discuz_7.2_FULL_SC_UTF8.zip -d discuz
[root@centos8 ~]# cp -rfp discuz/upload/* /home/wwwroot/www.zhuohua.store/
[root@centos8 ~]# chown -R www.www /home/wwwroot/www.zhuohua.store/

图片33.png
2021-6-25 16:18

注释:截图有省略。

备注:
站点目录下的文件和文件夹的属主和属组都要设置为 www
环境支持htm、html、php这三种网页 ^_^  ^_^  ^_^


###
Windows客户端通过浏览器继续安装Discuz!7.2

在没有DNS服务器解析域名的情况下,可以在文件hosts里绑定:
图片34.png
2021-6-25 16:20


记得设置文件hosts的权限:
图片35.png
2021-6-25 16:20


http://www.zhuohua.store/install/
图片36.png
2021-6-25 16:20


图片37.png
2021-6-25 16:21

图片38.png
2021-6-25 16:21

备注:没有错误才能点击“下一步”按键。

图片39.png
2021-6-25 16:21

备注:
这里自动创建的库discuz的字符集为 utf8_general_ci
这里使用的数据库用户为 root@localhost

图片40.png
2021-6-25 16:22


Discuz!7.2搭建成功了:
图片41.png
2021-6-25 16:22



Discuz!X7.2的全局配置文件:
[root@centos8 ~]# cd /home/wwwroot/www.zhuohua.store/
[root@centos8 www.zhuohua.store]# ll config.inc.php
-rw-r--r-- 1 www www 4178 6月  23 12:29 config.inc.php

Discuz!X7.2的数据库配置信息:
[root@centos8 www.zhuohua.store]# vi config.inc.php
图片42.png
2021-6-25 16:23




使用FTP用户zhuohua进行FTP连接:(会直接连接到站点www.zhuohua.store的文件存放目录/home/wwwroot/www.zhuohua.store/)
图片43.png
2021-6-25 16:24

注释:连接的IP地址为服务器IP地址。

FTP用户zhuohua对目录/home/wwwroot/www.zhuohua.store/有完全控制的权限:(可以上传、下载文件、目录等等)
图片44.png
2021-6-25 16:24






############

OPcache是Zend开发的闭源但可以免费使用的PHP优化加速缓存组件。

运行脚本,安装Zend OPcache:
图片45.png
2021-6-25 16:25


图片46.png
2021-6-25 16:25


图片47.png
2021-6-25 16:25


Zend OPcache安装成功:
图片48.png
2021-6-25 16:26



服务器本地测试Zend OPcache:
[root@centos8 ~]# php -v
PHP 5.6.40 (cli) (built: Feb 27 2021 18:44:16)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies


重启Apache:
[root@centos8 ~]# systemctl restart httpd


查看PHP测试页:
http://192.168.168.154/phpinfo.php
图片49.png
2021-6-25 16:27


图片50.png
2021-6-25 16:27




修改OPcache分配的共享内存( opcache.memory_consumption );实验中,直接修改PHP的主配置文件( /usr/local/php/etc/php.ini )并不生效,解决方法:

[root@centos8 ~]# php -i |grep opcache
Configure Command =>  './configure'  '--prefix=/usr/local/php' '--with-config-file-path=/usr/local/php/etc' '--with-config-file-scan-dir=/usr/local/php/conf.d' '--with-apxs2=/usr/local/apache/bin/apxs' '--with-mysql=mysqlnd' '--with-mysqli=mysqlnd' '--with-pdo-mysql=mysqlnd' '--with-iconv-dir' '--with-freetype-dir=/usr/local/freetype' '--with-jpeg-dir' '--with-png-dir' '--with-zlib' '--with-libxml-dir=/usr' '--enable-xml' '--disable-rpath' '--enable-bcmath' '--enable-shmop' '--enable-sysvsem' '--enable-inline-optimization' '--with-curl=/usr/local/curl' '--enable-mbregex' '--enable-mbstring' '--with-mcrypt' '--enable-ftp' '--with-gd' '--enable-gd-native-ttf' '--with-openssl=/usr/local/openssl' '--with-mhash' '--enable-pcntl' '--enable-sockets' '--with-xmlrpc' '--enable-zip' '--enable-soap' '--with-gettext' '--enable-opcache' '--enable-intl' '--with-xsl'
Additional .ini files parsed => /usr/local/php/conf.d/004-opcache.ini


由上查询到OPcache的配置文件:
[root@centos8 ~]# cat /usr/local/php/conf.d/004-opcache.ini
[Zend Opcache]
zend_extension="opcache.so"
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
opcache.enable_cli=1


修改OPcache分配的共享内存:
图片51.png
2021-6-25 16:28



重启Apache:
[root@centos8 ~]# systemctl restart httpd


修改OPcache分配的共享内存成功:
图片52.png
2021-6-25 16:28




查看Zend OPcache的控制面板:
http://192.168.168.154/ocp.php
图片53.png
2021-6-25 16:29


图片54.png
2021-6-25 16:29


图片55.png
2021-6-25 16:30






############

Jemalloc是内存分配器,可以提升MySQL/MariaDB的性能。


查看MySQL的版本:
[root@centos8 ~]# mysql -V
mysql  Ver 14.14 Distrib 5.5.62, for Linux (x86_64) using readline 5.1


安装Jemalloc:
[root@centos8 ~]# tar -jxf jemalloc-5.2.1.tar.bz2
[root@centos8 ~]# cd jemalloc-5.2.1
[root@centos8 jemalloc-5.2.1]# ./configure
[root@centos8 jemalloc-5.2.1]# make
[root@centos8 jemalloc-5.2.1]# make install

[root@centos8 jemalloc-5.2.1]# ldconfig
[root@centos8 jemalloc-5.2.1]# ln -sf /usr/local/lib/libjemalloc* /usr/lib/



编辑MySQL的主配置文件:
[root@centos8 ~]# vi /etc/my.cnf
追加:
[mysqld_safe]
malloc-lib=/usr/lib/libjemalloc.so


保存文件退出后,重启MySQL:
[root@centos8 ~]# systemctl restart mysql


验证MySQL是否使用了Jemalloc:
[root@centos8 ~]# lsof -n |grep jemalloc
mysqld    7525                  mysql  mem       REG              253,0  6123808  202213529 /usr/local/lib/libjemalloc.so.2
mysqld    7525 7527 mysqld      mysql  mem       REG              253,0  6123808  202213529 /usr/local/lib/libjemalloc.so.2
mysqld    7525 7528 mysqld      mysql  mem       REG              253,0  6123808  202213529 /usr/local/lib/libjemalloc.so.2
mysqld    7525 7529 mysqld      mysql  mem       REG              253,0  6123808  202213529 /usr/local/lib/libjemalloc.so.2
mysqld    7525 7530 mysqld      mysql  mem       REG              253,0  6123808  202213529 /usr/local/lib/libjemalloc.so.2
mysqld    7525 7531 mysqld      mysql  mem       REG              253,0  6123808  202213529 /usr/local/lib/libjemalloc.so.2
mysqld    7525 7532 mysqld      mysql  mem       REG              253,0  6123808  202213529 /usr/local/lib/libjemalloc.so.2
mysqld    7525 7533 mysqld      mysql  mem       REG              253,0  6123808  202213529 /usr/local/lib/libjemalloc.so.2
mysqld    7525 7534 mysqld      mysql  mem       REG              253,0  6123808  202213529 /usr/local/lib/libjemalloc.so.2
mysqld    7525 7535 mysqld      mysql  mem       REG              253,0  6123808  202213529 /usr/local/lib/libjemalloc.so.2
mysqld    7525 7536 mysqld      mysql  mem       REG              253,0  6123808  202213529 /usr/local/lib/libjemalloc.so.2
mysqld    7525 7538 mysqld      mysql  mem       REG              253,0  6123808  202213529 /usr/local/lib/libjemalloc.so.2
mysqld    7525 7539 mysqld      mysql  mem       REG              253,0  6123808  202213529 /usr/local/lib/libjemalloc.so.2
mysqld    7525 7540 mysqld      mysql  mem       REG              253,0  6123808  202213529 /usr/local/lib/libjemalloc.so.2
mysqld    7525 7541 mysqld      mysql  mem       REG              253,0  6123808  202213529 /usr/local/lib/libjemalloc.so.2
mysqld    7525 7544 mysqld      mysql  mem       REG              253,0  6123808  202213529 /usr/local/lib/libjemalloc.so.2





相关文章:
CentOS8_Yum仓库
CentOS8_lnmp1.7_升级MySQL/MariaDB
MySQL8.0使用Jemalloc

Apache2.4的MPM模式(event/prefork)
Discuz!X2.5+OPcache+ionCube Loader+ImageMagick
Discuz!7.2+Zend OPcache

CentOS8_lnmp1.7_LNMP
LNMP一键安装包(lnmp_CentOS6.9)

返回列表