搭建 LNMP 环境

时间:2022-07-24
本文章向大家介绍搭建 LNMP 环境,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

LNMP是建立web应用的平台,是Linux、NGINX,MySQL(有时也指MariaDB,数据库软件) 和PHP(有时也是指Perl或Python) 的简称。

安装编译工具及库文件

yum -y install make zlib zlib-devel gcc-c ++ libtool openssl openssl-devel

安装PCRE

PCRE作用是让Nginx支持Rewrite功能。 下载PCRE安装包,下载地址:http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz

cd /usr/local/src/
wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz

解压安装包

tar zxvf pcre-8.35.tar.gz

进入安装包目录

cd pcre-8.35

编译安装

./configure
make && make install

查看pcre版本

pcre-config --version

安装Nginx

下载Nginx,下载地址:http : //nginx.org/download/nginx-1.6.2.tar.gz

cd /usr/local/src/
wget http://nginx.org/download/nginx-1.6.2.tar.gz

解压安装包

tar zxvf nginx-1.6.2.tar.gz

编译安装

cd nginx-1.6.2
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.35
make && make install

查看nginx版本

/usr/local/nginx/sbin/nginx -v

启动Nginx Nginx启动命令

/usr/local/nginx/sbin/nginx

停止nginx命令

/usr/local/nginx/sbin/nginx -s quit

安装PHP

在安装PHP之前需要安装一些依赖包,执行下面的命令就可以了

yum install vim gcc gcc++ wget libxml2-devel wget -y

访问PHP的官方下载地址:https://php.net 找到自己想要安装的版本来进行下载,我这里选择php5.6

wget http://cn2.php.net/get/php-5.6.34.tar.gz/from/this/mirror

解压文件 解压完就会在当前文件夹看到PHP的安装包

tar zxvf mirror

其中php-5.6.34就是我们需要用到的压缩包,让我们进入目录进行安装

cd php-5.6.34
./configure --prefix=/usr/local/php  --enable-fpm

./configure 就是就是编译makefile文件的工具 --prefix 就是指定安装PHP到哪个目录 执行完成之后下面的命令

make
make install

我们执行完成./configure 只是把我们的配置写入makefile文件,还没有安装,make 命令就是安装。 准备配置文件

cd /usr/local/php/etc
cp php-fpm.conf.default php-fpm.conf

到此我们就安装完成PHP了。

配置Nginx并运行PHP程序

vim /usr/local/nginx/conf/nginx.conf
location ~ .php$ {
            root           /home/www; //网站目录
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }

然后保存退出

cd /
mkdir www
cd www
vim index.php
<?php phpinfo(); ?>

重启php和nginx

/usr/local/nginx/sbin/nginx -s reload
/usr/local/php/sbin/php-fpm

打开浏览器,输入127.0.0.1/index.php

安装mysql

同样的在安装之前先安装一些依赖工具和依赖包

yum install -y gcc gcc-c++ make tar openssl openssl-devel cmake ncurses-devel

新版的mysql都采用cmake安装,所以请务必安装这个工具 下载mysql的安装包 mysql的官方地址为:MySQL 在下载地址选择自己想要下载的版本,我选择的是mysql5.6

wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.6.47.tar.gz

解压文件

tar -zxvf mysql-5.6.47.tar.gz

然后进入目录

cd mysql-5.6.47

编译安装mysql 设置放置位置 安装位置/usr/local/mysql 数据存放位置 /data/mysql

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS:STRING=all -DWITH_DEBUG=0 -DWITH_SSL=yes -DWITH_READLINE=1 -DENABLED_LOCAL_INFIL=1
make
make install

复制

cp support-files/mysql.server /etc/init.d/mysqld

赋予权限

chmod a+x /etc/init.d/mysqld
mkdir -pv /data/mysql
chown -R mysql:mysql /data/mysql

mysql环境变量

vi /etc/profile
export PATH=$PATH:/usr/local/mysql/bin/

使配置文件生效

source /etc/profile

配置初始化数据库

vim /etc/my.cnf
[mysqld]
bind-address=0.0.0.0
port=3306
datadir=/data/mysql
user=mysql
skip-name-resolve
long_query_time=2
slow_query_log_file=/data/mysql/mysql-slow.log
expire_logs_days=2
innodb-file-per-table=1
innodb_flush_log_at_trx_commit = 2
log_warnings = 1
max_allowed_packet = 512M
connect_timeout = 60
net_read_timeout = 120

[mysql_safe]
log-error=/data/mysql/mysql.log
pid-file=/data/mysql/mysql.pid

数据库初始化

chown -R mysql:mysql /usr/local/mysql /data/mysql
yum install -y perl-Module-Install
/usr/local/mysql/scripts/mysql_install_db --user=mysql  --basedir=/usr/local/mysql --datadir=/data/mysql/
/usr/local/mysql/bin/mysqld_safe --user=mysql --basedir=/usr/local/mysql/ --data=/data/mysql/

使用systemctl管理mysql

vi /usr/lib/systemd/system/mysqld.service
[Unit]
Desription=mysqld
After=network.target
[Service]
Type=forking
ExecStart=/etc/init.d/mysqld start
[install]
WantedBy=multi-user.target

启动MYsql

systemctl start mysqld

设置数据库密码

mysqladmin -uroot password 'Aa123456'

连接数据库

mysql -uroot -pAa123456