预安装准备工具
yum -y install gcc gcc-c++ wget cmake
安装
软件存放目录: /lnmp/
软件安装目录: /usr/local/
1. 下载安装 PCRE
- wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.42.tar.gz/wget https://sourceforge.net/projects/pcre/files/pcre/8.42/pcre-8.42.tar.gz/download
- tar -zxvf pcre-8.42.tar.gz
- cd /lnmp/pcre-8.42
- ./configure --prefix=/usr/local/pcre
- make && make install
2. 下载安装 zlib
- wget https://sourceforge.net/projects/libpng/files/zlib/1.2.11/zlib-1.2.11.tar.gz
- tar -zxvf zlib-1.2.11.tar.gz
- cd /lnmp/zlib-1.2.11
- ./configure --prefix=/usr/local/zlib
- make && make install
3. 下载安装 openssl
- wget https://www.openssl.org/source/old/1.1.0/openssl-1.1.0b.tar.gz
- tar -zxvf openssl-1.1.0b.tar.gz
- cd /lnmp/openssl-1.1.0b
- ./config -fPIC --prefix=/usr/local/openssl/ enable-shared && make && make install
- make && make install
说明:
--prefix: 指定安装目录
-fPIC: 编译 openssl 的静态库
enable-shared: 编译动态库
4. 安装 nginx
4-1: 创建 nginx 用户和用户组
- groupadd -r www
- useradd -r -g www www
4-2: 下载安装 nginx
- wget http://nginx.org/download/nginx-1.12.2.tar.gz
- tar -zxvf nginx-1.12.2.tar.gz
- cd /lnmp/nginx-1.12.2
- ./configure --prefix=/usr/local/nginx --sbin-path=/usr/local/nginx/sbin/nginx --conf-path=/usr/local/nginx/nginx.conf --pid-
- path=/usr/local/nginx/nginx.pid --user=www --group=www --with-http_ssl_module --with-http_flv_module --with-http_mp4_module --with-http_stub_status_module --with-
- select_module --with-poll_module --error-log-path=/Web/logs/nginx/error.log --http-log-path=/Web/logs/nginx/access.log --with-pcre=/lnmp/pcre-8.42 --with-
- zlib=/lnmp/zlib-1.2.11 --with-openssl=/lnmp/openssl-1.1.0b
- make && make install
configure 的安装配置参数说明:
--prefix : nginx 的安装路径, 这里的安装路径为 / usr/local/nginx
--sbin-path : nginx 的可执行文件存放路径
--conf-path : nginx 的主配置文件存放路径, nginx 允许使用不同的配置文件启动, 通过命令行中的 - c 选项
--pid-path : nginx.pid 文件的存放路径, 将存储的主进程的进程号
--error-log-path : nginx 的主错误, 警告, 和诊断文件存放路径, 这里的存放路径为 /Web/logs/nginx/error.log
--http-log-path : nginx 的主请求的 HTTP 服务器的日志文件的存放路径, 这里的存放路径为 /Web/logs/nginx/access.log
--user : nginx 工作进程的用户
--group : nginx 工作进程的用户组
--with-select_module 或 --without-select_module : 启用或禁用构建一个模块来允许服务器使用 select() 方法
--with-poll_module 或 --without-poll_module : 启用或禁用构建一个模块来允许服务器使用 poll() 方法
--with-http_ssl_module : 使用 https 协议模块. 默认情况下, 该模块没有被构建. 建立并运行此模块的 OpenSSL 库是必需的
--with-pcre : pcre 的源码路径, 这里的源码路径为 /lnmp/pcre-8.42
--with-zlib : zlib 的源码路径, 这里的源码路径为 /lnmp/zlib-1.2.11
--with-openssl : openssl 库的源码路径, 这里的源码路径为 /lnmp/openssl-1.1.0b
4-3. 启动 nginx
/usr/local/nginx/sbin/nginx
4-4. 加入环境变量
使用 VIM 命令打开 / etc/profile 文件, 在文件最末尾加上如下代码
export PATH=$PATH:/usr/local/nginx/sbin
保存后执行 source /etc/profile
4-5. 设置开机自启动
VIM /etc/init.d/nginx(脚本地址: https://www.nginx.com/resources/wiki/start/topics/examples/redhatnginxinit/)
就该脚本的以下两个地方:
- nginx="/usr/sbin/nginx"
- NGINX_CONF_FILE="/etc/nginx/nginx.conf"
修改为:
- nginx="/usr/local/nginx/sbin/nginx"
- NGINX_CONF_FILE="/usr/local/nginx/nginx.conf"
赋权限, 设置开机启动:
- chmod +x /etc/init.d/nginx
- chkconfig --add nginx
- chkconfig nginx on
5. 安装 PHP(5.6 版)(后台语言 1)
5-1. 安装 PHP 相关依赖扩展和常用库
- yum -y install libmcrypt-devel mhash-devel libxslt-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-
- devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn
- libidn-devel openssl openssl-devel
5-2. 下载安装 Libmcrypt
- wget https://sourceforge.net/projects/mcrypt/files/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz
- tar -zxvf libmcrypt-2.5.8.tar.gz
- cd /lnmp/libmcrypt-2.5.8
- ./configure --prefix=/usr/local/libmcrypt
- make && make install
5-3. 安装 libltdl
- cd /lnmp/libmcrypt-2.5.8/libltdl
- ./configure --enable-ltdl-install
- make && make install
5-4. 下载安装 PHP
- wget http://am1.php.net/distributions/php-5.6.39.tar.gz
- ./configure --prefix=/usr/local/PHP --with-config-file-path=/usr/local/PHP/etc --with-mcrypt=/usr/local/libmcrypt/ --enable-fpm --enable-
- mbstring --enable-pdo --with-curl --disable-debug --disable-rpath --enable-inline-optimization --with-bz2 --with-zlib --enable-sockets --enable-sysvsem --enable-
- sysvshm --enable-pcntl --enable-mbregex --with-mhash --enable-zip --with-pcre-regex --with-mysqli --with-gd --with-jpeg-dir --with-freetype-dir --enable-calendar --
- enable-opcache=no
- ./configure --prefix=/usr/local/PHP --with-config-file-path=/usr/local/PHP/etc --with-mcrypt=/usr/local/libmcrypt/ --with-zlib-dir --with-
- freetype-dir --enable-mbstring --with-libxml-dir --enable-SOAP --enable-calendar --with-curl --with-gd --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-pdo-MySQL --with-mysqli --with-jpeg-dir --with-PNG-dir --with-openssl --enable-opcache --enable-fpm --with-iconv --enable-mysqlnd --with-mysqli=mysqlnd --with-
- pdo-MySQL=mysqlnd
- make && make install
configure 各种报错解决方案
(1):configure: error: Don't know how to define struct flock on this system, set -enable-opcache=no
解决: VIM /etc/ld.so.conf, 在文件后面追加
- /usr/local/lib64
- /usr/local/lib
- /usr/lib
- /usr/lib64
- /usr/local/libmcrypt/lib
保存后执行 ldconfig , 如何再重新 configure
5-5. 配置 PHP 配置文件
cp /lnmp/PHP-5.6.39/PHP.INI-development /usr/local/PHP/etc/PHP.INI
5-6. 配置 PHP-fpm 文件
复制配置文件:
cp /usr/local/PHP/etc/PHP-fpm.conf.default /usr/local/PHP/etc/PHP-fpm.conf
配置 PHP-fpm:
- # 开启 pid , 去掉分号注释
- pid = run/PHP-fpm.pid
启动:
/usr/local/PHP/sbin/PHP-fpm
5-7. 加入环境变量
- VIM /etc/profile:
- export PATH=$PATH:/usr/local/PHP/bin:/usr/local/PHP/sbin
- source /etc/profile
5-8. 将 PHP-fpm 加入系统服务
- VIM /etc/init.d/PHP-fpm(脚本如下)
- #!/bin/bash
- # PHP-fpm startup script for the PHP-fpm
- # PHP-fpm version:5.6.39
- # chkconfig: - 85 15
- # description: PHP-fpm
- # processname: PHP-fpm
- # pidfile: /usr/local/PHP/var/run/PHP-fpm.pid
- # config: /usr/local/PHP/etc/PHP-fpm.conf
- php_command=/usr/local/PHP/sbin/PHP-fpm
- php_config=/usr/local/PHP/etc/PHP-fpm.conf
- php_pid=/usr/local/PHP/var/run/PHP-fpm.pid
- RETVAL=0
- prog="php-fpm"
- #start function
- php_fpm_start() {
- /usr/local/PHP/sbin/PHP-fpm
- }
- start(){
- if [ -e $php_pid ]
- then
- echo "php-fpm already start..."
- exit 1
- fi
- php_fpm_start
- }
- stop(){
- if [ -e $php_pid ]
- then
- parent_pid=`cat $php_pid`
- all_pid=`ps -ef | grep php-fpm | awk '{if('$parent_pid'== $3){print $2}}'`
- for pid in $all_pid
- do
- kill $pid
- done
- kill $parent_pid
- fi
- exit 1
- }
- restart(){
- stop
- start
- }
- # See how we were called.
- case "$1" in
- start)
- start
- ;;
- stop)
- stop
- ;;
- restart)
- stop
- start
- ;;
- status)
- status $prog
- RETVAL=$?
- ;;
- *)
- echo $"Usage: $prog {start|stop|restart|status}"
- exit 1
- esac
- exit $RETVAL
- chmod +x /etc/init.d/PHP-fpm
5-9. 设置 PHP-fpm 开机启动
- chkconfig --add PHP-fpm
- chkconfig PHP-fpm on
5. 安装 Node.JS(5.6 版)(后台语言 2)
1, 去官网下载和自己系统匹配的文件:
英文网址: https://nodejs.org/en/download/
中文网址: http://nodejs.cn/download/
通过 uname -a 命令查看到我的 Linux 系统位数是 64 位 (备注: x86_64 表示 64 位系统, i686 i386 表示 32 位系统), 如图
故下载一下红色框中文件 , 版本为 v12.4.0
下载 node 安装包
1,wget https://npm.taobao.org/mirrors/node/latest-v12.x/node-v12.4.0-linux-x64.tar.gz
2, 下载下来的 tar 文件上传到服务器并且解压, 然后通过建立软连接变为全局;
1) 上传服务器可以是自己任意路径, 目前我的放置路径为 cd /lnmp
2) 解压上传 (解压后的文件我这边将名字改为了 Node.JS, 这个地方自己随意, 只要在建立软连接的时候写正确就可以)
- tar -xvf node-v12.4.0-Linux-x64.tar.gz
- mv node-v12.4.0-Linux-x64 Node.JS
3确认一下 Node.JS 下 bin 目录是否有 node 和 NPM 文件, 如果有执行软连接, 如果没有重新下载执行上边步骤;
3) 建立软连接, 变为全局
- ln -s /lnmp/node-v12.4.0-Linux-x64/Node.JS/bin/NPM /usr/local/bin/
- ln -s /lnmp/node-v12.4.0-Linux-x64/Node.JS/bin/node /usr/local/bin/
4) 最后一步检验 Node.JS 是否已变为全局
在 Linux 命令行 node -v 命令会显示 Node.JS 版本, 如图所示为大功告成
6. 安装 MySQL
6-1. 下载安装 boost
- wget https://nchc.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz
- tar -zxvf boost_1_59_0.tar.gz
- cd /lnmp/boost_1_59_0/
- ./Bootstrap.sh
- ./b2 install
6-2. 下载安装 MySQL(或者 https://blog.csdn.net/qq_37598011/article/details/93489404 数据库安装或者
- https://blog.csdn.net/weikaixxxxxx/article/details/86532074)
- wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
- tar -zxvf MySQL-5.7.24.tar.gz
- cd /lnmp/MySQL-5.7.24/
- cmake -DCMAKE_INSTALL_PREFIX=/usr/local/MySQL -DMYSQL_UNIX_ADDR=/usr/local/MySQL/data/MySQL.sock -DMYSQL_DATADIR=/usr/local/MySQL/data -
- DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1? -DWITH_ARCHIVE_STORAGE_ENGINE=1? -
- DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_USER=MySQL -DMYSQL_TCP_PORT=3306 -
- DENABLE_DOWNLOADS=1 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/include/boost
- make&&make install
6-3 创建用户并修改权限
- groupadd MySQL
- useradd -g MySQL MySQL
- chown MySQL:MySQL /usr/local/MySQL/
6-4 初始化 MySQL 数据库
- cd /usr/local/MySQL/bin
- ./mysqld --initialize --user=MySQL --basedir=/usr/local/MySQL --datadir=/usr/local/MySQL/data
- av*HuaYs8bp-
6-5 修改配置文件
VIM /etc/my.cnf
写入以下内容:
- [mysqld]
- basedir =/usr/local/MySQL
- datadir=/usr/local/MySQL/data/
- socket=/usr/local/MySQL/data/MySQL.sock
- user=MySQL
- # Disabling symbolic-links is recommended to prevent assorted security risks
- symbolic-links=0
- [mysqld_safe]
- log-error=/var/log/mysqld.log
- pid-file=/var/run/mysqld/mysqld.pid
6-6. 创建 mysqld 的 pid 文件
- mkdir /var/run/mysqld/
- touch /var/run/mysqld/mysqld.pid
- chown MySQL:MySQL /var/run/mysqld/
- chmod -R 777 /var/run/mysqld/
6-7. 设置开机启动
- cp /usr/local/MySQL/support-files/MySQL.server /etc/init.d/mysqld
- chmod 755 /etc/init.d/mysqld
- chkconfig --add mysqld
- chkconfig mysqld on
6-7. 配置环境变量
- echo "PATH=$PATH:/usr/local/mysql/bin"> /etc/profile.d/MySQL.sh
- source /etc/profile
6-8. 修改登录密码
- update MySQL.user set authentication_string=password('123456') where user='root';
- flush privileges;
- //alter user user() identified by "123456";
安装 PHP7.2 版本
安装 PHP 相关依赖扩展和常用库
- yum -y install libmcrypt-devel mhash-devel libxslt-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib
- zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel
- openssl openssl-devel
- ./configure --prefix=/usr/local/PHP --with-config-file-path=/usr/local/PHP/etc --enable-fpm --enable-mbstring --enable-pdo --with-curl --disable-debug --
- disable-rpath --enable-inline-optimization --with-bz2 --with-zlib --enable-sockets --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --with-mhash --
- enable-zip --with-pcre-regex --with-mysqli --with-gd --with-jpeg-dir --with-freetype-dir --enable-calendar
- ./configure --prefix=/usr/local/php7.3 --with-config-file-path=/usr/local/php7.3/etc --with-zlib-dir --with-freetype-dir --enable-mbstring --with-libxml-dir
- --enable-SOAP --enable-calendar --with-curl --with-gd --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-pdo-MySQL --with-mysqli --with-jpeg-dir --
- with-PNG-dir --with-openssl --enable-opcache --enable-fpm --with-iconv --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-MySQL=mysqlnd
- make && make install
安装 Redis
1, 下载解压
- wget http://download.redis.io/releases/redis-4.0.10.tar.gz
- tar -xzf Redis-4.0.10.tar.gz
- cd Redis-4.0.10
2, 编译安装
- make PREFIX=/usr/local/Redis install
- mkdir /usr/local/Redis/etc/
- cp Redis.conf /usr/local/Redis/etc/
3, 修改配置文件
- VIM /usr/local/Redis/etc/Redis.conf
- # 修改一下配置
- # Redis 以守护进程的方式运行
- # no 表示不以守护进程的方式运行 (会占用一个终端)
- daemonize yes
- # 客户端闲置多长时间后断开连接, 默认为 0 关闭此功能
- timeout 300
- # 设置 Redis 日志级别, 默认级别: notice
- loglevel verbose
- # 设置日志文件的输出方式, 如果以守护进程的方式运行 Redis 默认:""
- # 并且日志输出设置为 stdout, 那么日志信息就输出到 / dev/null 里面去了
- logfile stdout
- # 设置密码授权
requirepass < 设置密码 >
安装 pm2
NPM install -g pm2 这里安装之后需要指定软连接
ln -s /lnmp/node-v12.4.0-Linux-x64/bin/pm2 /usr/local/bin/pm2
可以通过 pm2 -v 验证.
来源: http://www.bubuko.com/infodetail-3416043.html