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源,不需要连公网。
选择数据库版本:
设置数据库用户root@localhost的密码:(以下是把密码设置为 888 )
启用InnoDB Storage Engine,输入 Y 再按回车键:
选择PHP版本:
选择是否安装内存优化:
需要设置管理员邮箱,该邮箱会在报错时显示在错误页面上:
选择Apache的版本:
安装或取消安装:
下面是全自动安装的^_^ ^_^
安装成功了:(安装好后,最好重启一下服务器)
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的:
默认启用防火墙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"
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 )可以看到这个页面:
PHP探针:
http://192.168.168.154/p.php
注释:探针路径 /home/wwwroot/default/p.php
PHP测试页:
http://192.168.168.154/phpinfo.php
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的版本:
输入新phpMyAdmin的版本号:
注释:因为服务器的目录/root/lnmp1.7-full/src里有软件包phpMyAdmin-4.0.10.20-all-languages.tar.xz,所以不会从公网重新下载了。
客户端远程访问phpMyAdmin:
http://192.168.168.154/phpmyadmin/
注释:数据库的默认字符集是 utf8mb4_general_ci
######
Pureftpd (一款FTP服务器软件)
运行脚本,安装Pureftpd:
[root@centos8 ~]# cd /root/lnmp1.7-full
[root@centos8 lnmp1.7-full]# ./pureftpd.sh
Pureftpd安装成功:
Pureftpd会随着系统的启动而启动:
[root@centos8 ~]# systemctl is-enabled pureftpd
enabled
启动Pureftpd:
[root@centos8 ~]# systemctl start pureftpd
查看Pureftpd是否运行中:(运行时)
systemctl status pureftpd
关闭Pureftpd:
[root@centos8 ~]# systemctl stop pureftpd
查看Pureftpd是否运行中:(关闭时)
重启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
站点日志:
这里不给站点创建数据库了:
给此站点创建FTP用户:(这里创建的FTP用户对本站点目录有完全控制的权限)
这里不添加SSL证书了:
站点 www.zhuohua.store 的配置信息:
站点 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)
######
安装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/
注释:截图有省略。
备注:
站点目录下的文件和文件夹的属主和属组都要设置为 www
环境支持htm、html、php这三种网页 ^_^ ^_^ ^_^
###
Windows客户端通过浏览器继续安装Discuz!7.2
在没有DNS服务器解析域名的情况下,可以在文件hosts里绑定:
记得设置文件hosts的权限:
http://www.zhuohua.store/install/
备注:没有错误才能点击“下一步”按键。
备注:
这里自动创建的库discuz的字符集为 utf8_general_ci
这里使用的数据库用户为 root@localhost
Discuz!7.2搭建成功了:
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
使用FTP用户zhuohua进行FTP连接:(会直接连接到站点www.zhuohua.store的文件存放目录/home/wwwroot/www.zhuohua.store/)
注释:连接的IP地址为服务器IP地址。
FTP用户zhuohua对目录/home/wwwroot/www.zhuohua.store/有完全控制的权限:(可以上传、下载文件、目录等等)
############
OPcache是Zend开发的闭源但可以免费使用的PHP优化加速缓存组件。
运行脚本,安装Zend OPcache:
Zend OPcache安装成功:
服务器本地测试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
修改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分配的共享内存:
重启Apache:
[root@centos8 ~]# systemctl restart httpd
修改OPcache分配的共享内存成功:
查看Zend OPcache的控制面板:
http://192.168.168.154/ocp.php
############
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) |