LNMP是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写
L指Linux,N指Nginx,M一般指MySQL,也可以指MariaDB,P一般指PHP,也可以指Perl或Python
LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构
Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统
代表版本有:debian、centos、ubuntu、fedora、gentoo等
Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器
Mysql是一个小型关系型数据库管理系统
PHP是一种在服务器端执行的嵌入HTML文档的脚本语言
这四种软件均为免费开源软件,组合到一起,成为一个免费、高效、扩展性强的网站服务系统
mysql安装
下载安装包并解压
[root@server6 ~]# tar zxf mysql-boost-5.7.28.tar.gz
[root@server6 ~]# cd mysql-5.7.28/
[root@server6 mysql-5.7.28]# cd
[root@server6 ~]# useradd -s /sbin/nologin -M mysql ##创建一个不能交互的用户
编译安装
[root@server6 mysql-5.7.28]# cmake -DCMAKE_INSTALL_PREFIX= /usr/local/lnmp/mysql\ ##指定安装位置
> -DMYSQL_UNIX_ADDR=/usr/local/lnmp/mysql/data/mysql.sock\ ##指定套接字位置
> -DMYSQL_DATADIR= /usr/local/lnmp/mysql/data\
> -DEXTRA_CHARSETS=all \ ##扩展字符集
> -DDEFAULT_CHARSET=utf8 \ ##默认字符集
> -DDEFAULT_COLLATION=utf8_general_ci \ ##默认字符对
> -DWITH_MYISAM_STORAGE_ENGINE=1 \ ##安装myisam储存引擎
> -DWITH_INNOBASE_STORAGE_ENGINE=1 \ ##安装innodb储存引擎
> -DWITH_MEMORY_STORAGE_ENGINE=1 \ ##安装memory储存引擎
> -DWITH_READLINE=1 \ ##行读取
> -DENABLED_LOCAL_INFILE=1 \ ##倒入本地数据
> -DMYSQL_USER=mysql \ ##运行用户
> -DMYSQL_TCP_PORT=3306 -DWITH_BOOST=boost/boost_1_59_0 ##指定端口
编译过程中要解决依赖性
[root@server6 mysql-5.7.28]# yum install gcc gcc-c++
[root@server6 mysql-5.7.28]# yum install openssl-devel ncurses-devel bison
将依赖性进行解决。
编译完成后进行安装
[root@server6 mysql-5.7.28]# make && make install
编译完成
[root@server6 ~]# cd /usr/local/lnmp/mysql
[root@server6 mysql]# mkdir data ##创建目录
[root@server6 mysql]# chown -R mysql data/ ##将目录下所有人给mysql用户
[root@server6 mysql]# ln -s /usr/local/mysql/bin/* /usr/local/bin/ ##做软链接
[root@server6 mysql]# cd /usr/local/mysql/support-files/
[root@server6 support-files]# cp -a mysql.server /etc/init.d/mysqld ##将启动脚本复制
[root@server6 support-files]# chmod +x /etc/init.d/mysqld ##给执行权限
[root@server6 support-files]# cd /usr/local/mysql/mysql-test/include/
[root@server6 include]# cp default_my.cnf /etc/my.cnf
chkconfig mysqld on ##开启
[root@server6 support-files]# mysqld --initialize --user=mysql ## 里面有密码,在最后
2020-03-30T09:44:53.798979Z 1 [Note] A temporary password is generated for root@localhost: x4i,4jXy/u!M##在这里
systemctl start mysqld ##先启动
mysql_secure_installation ##安全初始化
php安装
[root@server6 ~]# tar zxf php-7.4.1.tar.gz ##解压
[root@server6 ~]# cd php-7.4.1/
[root@server6 php-7.4.1]# ./configure --prefix=/usr/local/lnmp/php --with-config-file-path=/usr/local/lnmp/php/etc --with-mysqli=/usr/local/lnmp/mysql/bin/mysql_config --enable-soap --enable-mbstring=all --enable-sockets --with-pdo-mysql=/usr/local/lnmp/mysql --enable-gd --without-pear --enable-fpm ##编译安装
[root@server6 php-7.4.1]# yum install pkg-config libxml2-devel sqlite-devel libpng-devel oniguruma-* -y
##解决依赖性
[root@server6 php-7.4.1]# make &&make install##安装
[root@server6 php-7.4.1]# cd /usr/local/lnmp/php/etc/
[root@server6 etc]# cp php-fpm.conf.default php-fpm.conf ##处理配置文件
[root@server6 etc]# vim php-fpm.conf
pid = run/php-fpm.pid 将pid路径打开
[root@server6 etc]# cd php-fpm.d
[root@server6 php-fpm.d]# cp www.conf.default www.conf
[root@server6 php-fpm.d]# vim www.conf ##副配置文件
user = nginx
group = nginx ##将用户名和组进行更改
[root@server6 ~]# cd php-7.4.1/
[root@server6 php-7.4.1]# cp php.ini-production /usr/local/lnmp/php/etc/php.ini ##复制启动文件
[root@server6 php-7.4.1]# vim /usr/local/lnmp/php/etc/php.ini ##修改脚本中的时区
date.timezone = Asia/Shanghai
[root@server6 php-7.4.1]# cd sapi/fpm/
[root@server6 fpm]# cp init.d.php-fpm /etc/init.d/php-fpm ##将脚本复制
[root@server6 fpm]# chmod +x /etc/init.d/php-fpm
[root@server6 fpm]# chkconfig --add php-fpm ##把脚本加入启动项
安装nginx
下载压缩包
[root@server6 ~]# tar zxf nginx-1.16.0.tar.gz
[root@server6 ~]# cd nginx-1.16.0/
[root@server6 nginx-1.16.0]# vim src/core/nginx.h##隐藏版本号
#define NGINX_VER "nginx/"
[root@server6 nginx-1.16.0]# vim auto/cc/gcc##关闭debug
# debug
#CFLAGS="$CFLAGS -g"
[root@server6 nginx-1.16.0]# ./configure --prefix=/usr/local/lnmp/nginx --with-http_stub_status_module --with-http_ssl_module --user=nginx --group=nginx
[root@server6 nginx-1.16.0]# make && make install
[root@server6 nginx-1.16.0]# vim /usr/local/lnmp/nginx/conf/nginx.conf ##将php打开
location / {
root html;
index index.php index.html index.htm;
} ##先打开index.php文件
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
include fastcgi.conf;
}
[root@server6 nginx-1.16.0]# ln -s /usr/local/lnmp/php/sbin/* /usr/local/sbin/ ##可以直接进行启动
[root@server6 nginx-1.16.0]# cd /usr/local/lnmp/nginx/html/
[root@server6 html]# vim index.php ##编写php页面
最后将服务都进行启动访问ip能看到php页面说明没什么问题
论坛搭建
[root@server6 ~]# tar zxf wordpress-5.3.2-zh_CN.tar.gz -C /usr/local/lnmp/nginx/html/ ##将压缩包放在指定目录中
在网页中输入ip地址和项目目录
输入数据库用户名和密码
后面显示不能选择,现在要创建一个新数据库进行使用
现在又提示“ 抱歉,我不能写入wp-config.php文件”
[root@server6 html]# chown nginx.nginx wordpress/ -R ##解决办法修改权限
跟着提示继续走,论坛就可以很轻松的搭建完成