LNMP是当下web最流行的架构之一,不管是初级运维还是php程序猿都需要掌握这门技能,对加深linux系统命令行、架构原理的理解非常有帮助。安装之前先说明以下几点:
下面就让我们开始编译安装之旅吧!
1、安装nginx的依赖库
yum -y install gcc gcc-c++ autoconf automake make openssl openssl-devel pcre pcre-devel zlib zlib-devel libxml2 libxml2-devel glibc glibc-devel curl curl-devel cyrus-sasl-md5
2、添加nginx运行用户、组,用户不能直接登录系统
groupadd www
useradd www -s /sbin/nologin -g www
3、下载安装包,解压安装包,进入解压后的目录
cd /usr/local/src
wget http://nginx.org/download/nginx-1.16.1.tar.gz
tar -zxvf nginx-1.16.1.tar.gz
cd nginx-1.16.1
4、配置安装选项,编译并安装
./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_ssl_module --with-http_gzip_static_module --with-http_stub_status_module
make && make install
5、配置开机启动
vi /etc/rc.local
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf &
1、安装依赖
yum install -y wget cmake make bison bison-devel libaio-devel gcc gcc-c++ git ncurses-devel
# mysql5.7之后需要依赖Boost的C++扩展,而且只能是1.59.0版本
wget http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz
tar -zxvf boost_1_59_0.tar.gz
mv boost_1_59_0 /usr/local/boost
2、创建用户组
/usr/sbin/groupadd mysql
/usr/sbin/useradd -g mysql mysql
3、下载安装包,从官网下载的话非常慢,选择国内镜像可以快很多。也下载mysql-boost-5.7.28.tar.gz包,上面安装Boost的C++扩展就可以免了。
wget http://mirrors.163.com/mysql/Downloads/MySQL-5.7/mysql-5.7.28.tar.gz
4、编译安装,mysql的安装过程非常慢,大概需要40分钟,耐心等待
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DMYSQL_DATADIR=/data/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS:STRING=utf8,gbk,gb2312 -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_USER=mysql -DWITH_DEBUG=0 -DWITH_BOOST=/usr/local/boost
make && make install
5、修改配置
chown -R mysql:mysql /usr/local/mysql
chown mysql:mysql /etc/my.cnf
vi /etc/my.cnf
socket=/usr/local/mysql/mysql.sock
datadir=/data/mysql
port = 3306
server_id=1
6、开机启动
cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
chkconfig --add mysqld
7、初始化库文件
/usr/local/mysql/bin/mysqld --initialize --user=mysql
#记下密码
#修改密码
service mysqld start
/usr/local/mysql/bin/mysql -uroot -p
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
1、安装依赖
yum install zlib libxml freetype libjpeg libpng gd gd-devel curl curl-devel libiconv zlib-devel libxml2-devel libjpeg-devel freetype-devel libpng-devel openssl openssl-devel libxslt-devel
# 安装libiconv
wget https://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.16.tar.gz
tar -zxvf libiconv-1.16.tar.gz
cd libiconv-1.16
./configure --prefix=/usr/local/libiconv
make && make install
2、下载安装包,解压,进入解压的目录
cd /usr/local/src
wget https://www.php.net/distributions/php-7.2.28.tar.gz
tar -zxvf php-7.2.28.tar.gz
cd php-7.2.28
3、编译安装
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-iconv-dir=/usr/local/libiconv --with-pdo-mysql=mysqlnd --with-pdo-pgsql --with-pdo-sqlite --with-zlib-dir --with-freetype-dir --enable-mbstring --with-libxml-dir=/usr --enable-xmlreader --enable-xmlwriter --enable-soap --enable-calendar --with-curl --with-zlib --with-gd --with-pgsql --disable-rpath --enable-inline-optimization --with-bz2 --with-zlib --enable-sockets --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --enable-exif --enable-bcmath --with-mhash --enable-zip --with-pcre-regex --with-mysqli=/usr/local/mysql/bin/mysql_config --with-mysql-sock --enable-mysqlnd --with-jpeg-dir=/usr --with-png-dir=/usr --with-openssl --enable-ftp --with-kerberos --with-gettext --with-xmlrpc --with-xsl --enable-opcache --enable-fpm --with-fpm-user=www --with-fpm-group=www
make && make install
4、复制配置文件
cp php.ini-production /usr/local/php/etc/php.ini
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
chmod +x /etc/init.d/php-fpm
chkconfig --add php-fpm
修改nginx配置文件,支持php。
vi /usr/local/nginx/conf/nginx.conf
去掉前面的#号,SCRIPT_FILENAME改成$document_root
修改nginx配置文件
在mytest目录下新建index.php文件,保存后就可以在浏览器看到效果啦!
vi /data/www/mytest/index.php
<?php
phpinfo();
?>
以上就是整个的安装过程,如果顺利的情况下大概需要一个半小时到两个小时,学习的过程总是孤独、寂寞、漫长的,需要静心。
最后,小伙伴们一定要重复多次的练习,才能提高熟练度,加深理解。安装的过程中肯定都会碰到一些大大小小的问题,千万不要放弃,可以百度找找方案,大胆去尝试解决问题。