LNMP是建立web应用的平台,是Linux、NGINX,MySQL(有时也指MariaDB,数据库软件) 和PHP(有时也是指Perl或Python) 的简称。
安装编译工具及库文件
代码语言:javascript复制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
代码语言:javascript复制cd /usr/local/src/
wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz
解压安装包
代码语言:javascript复制tar zxvf pcre-8.35.tar.gz
进入安装包目录
代码语言:javascript复制cd pcre-8.35
编译安装
代码语言:javascript复制./configure
make && make install
查看pcre版本
代码语言:javascript复制pcre-config --version
安装Nginx
下载Nginx,下载地址:http : //nginx.org/download/nginx-1.6.2.tar.gz
代码语言:javascript复制cd /usr/local/src/
wget http://nginx.org/download/nginx-1.6.2.tar.gz
解压安装包
代码语言:javascript复制tar zxvf nginx-1.6.2.tar.gz
编译安装
代码语言:javascript复制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版本
代码语言:javascript复制/usr/local/nginx/sbin/nginx -v
启动Nginx Nginx启动命令
代码语言:javascript复制/usr/local/nginx/sbin/nginx
停止nginx命令
代码语言:javascript复制/usr/local/nginx/sbin/nginx -s quit
安装PHP
在安装PHP之前需要安装一些依赖包,执行下面的命令就可以了
代码语言:javascript复制yum install vim gcc gcc wget libxml2-devel wget -y
访问PHP的官方下载地址:https://php.net 找到自己想要安装的版本来进行下载,我这里选择php5.6
代码语言:javascript复制wget http://cn2.php.net/get/php-5.6.34.tar.gz/from/this/mirror
解压文件 解压完就会在当前文件夹看到PHP的安装包
代码语言:javascript复制tar zxvf mirror
其中php-5.6.34就是我们需要用到的压缩包,让我们进入目录进行安装
代码语言:javascript复制cd php-5.6.34
./configure --prefix=/usr/local/php --enable-fpm
./configure 就是就是编译makefile文件的工具 --prefix 就是指定安装PHP到哪个目录 执行完成之后下面的命令
代码语言:javascript复制make
make install
我们执行完成./configure 只是把我们的配置写入makefile文件,还没有安装,make 命令就是安装。 准备配置文件
代码语言:javascript复制cd /usr/local/php/etc
cp php-fpm.conf.default php-fpm.conf
到此我们就安装完成PHP了。
配置Nginx并运行PHP程序
代码语言:javascript复制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;
}
然后保存退出
代码语言:javascript复制cd /
mkdir www
cd www
vim index.php
<?php phpinfo(); ?>
重启php和nginx
代码语言:javascript复制/usr/local/nginx/sbin/nginx -s reload
/usr/local/php/sbin/php-fpm
打开浏览器,输入127.0.0.1/index.php
安装mysql
同样的在安装之前先安装一些依赖工具和依赖包
代码语言:javascript复制yum install -y gcc gcc-c make tar openssl openssl-devel cmake ncurses-devel
新版的mysql都采用cmake安装,所以请务必安装这个工具 下载mysql的安装包 mysql的官方地址为:MySQL 在下载地址选择自己想要下载的版本,我选择的是mysql5.6
代码语言:javascript复制wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.6.47.tar.gz
解压文件
代码语言:javascript复制tar -zxvf mysql-5.6.47.tar.gz
然后进入目录
代码语言:javascript复制cd mysql-5.6.47
编译安装mysql 设置放置位置 安装位置/usr/local/mysql 数据存放位置 /data/mysql
代码语言:javascript复制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
复制
代码语言:javascript复制cp support-files/mysql.server /etc/init.d/mysqld
赋予权限
代码语言:javascript复制chmod a x /etc/init.d/mysqld
mkdir -pv /data/mysql
chown -R mysql:mysql /data/mysql
mysql环境变量
代码语言:javascript复制vi /etc/profile
export PATH=$PATH:/usr/local/mysql/bin/
使配置文件生效
代码语言:javascript复制source /etc/profile
配置初始化数据库
代码语言:javascript复制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
数据库初始化
代码语言:javascript复制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
代码语言:javascript复制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
代码语言:javascript复制systemctl start mysqld
设置数据库密码
代码语言:javascript复制mysqladmin -uroot password 'Aa123456'
连接数据库
代码语言:javascript复制mysql -uroot -pAa123456