首先先下载一个putty,输入服务器的ip地址,远程连上服务器,然后输入用户名和密码登录
第一步:安装前先更新系统 # yum update ,检查是否有安装了wget # rpm -qa wget,是否安装了编译器 # rpm -qa gcc
显示系统无需更新,已经安装了wget和编译器
如果没有安装wget和编译器是没有任何东西显示的,输入# yum install wget和 # yum install gcc gcc-c++ 安装
第二步:安装nginx依赖包
先理解一下Linux系统的依赖关系:Linux的依赖关系因为它整个系统都是由各个不同的开发组开发的软件集合而成,每个软件都有不同的功能提供和调和。而Linux系统它的软件包组成可以很灵活,某些软件包不是必须的,有些软件功能可以由很多不同的软件进行提供。所以有些软件互相之间的功能需求就需要“依赖关系”这种描述来进行说明控制。
其实window也有这个问题,不过window是由微软统一提供的,所以本身的依赖关系解决了的,这也是window很多自带的软件不能卸载的原因,如果整个去掉IE的话,就会有很多的window程序失去依赖关系不能运行。
了解了Linux依赖关系,继续安装
nginx的Rewrite模块和HTTP核心模块会使用到PCRE正则表达式语法
# yum -y install pcre pcre-devel
nginx的各种模块中需要使用gzip压缩
# yum -y install zlib zlib-devel
安全套接字层密码库:
# yum -y install openssl openssl-devel
3个依赖包
然后进入/usr/local/src目录
# cd /usr/local/src
下载nginx包到当前目录
# wget http://nginx.org/download/nginx-1.12.2.tar.gz
把nginx包解压到当前目录
# tar -zxvf nginx-1.12.2.tar.gz
然后可以看到目录文件多了nginx-1.12.2
进入nginx-1.12.2文件
# cd nginx-1.12.2
编译安装到/usr/local/nginx目录中
# ./configure --prefix=/usr/local/nginx
# make
# make install
配置(configure)、编译(make)、安装(make install)
添加一个nginx组
# groupadd nginx
添加一个nginx用户,
# useradd -M -g nginx -s /sbin/nologin nginx
-M:不要自动建立用户的登录目录
-g nginx:指定nginx组
-s /sbin/nologin nginx:指定用户登入后所使用的shell
进入conf目录下的配置文件配置
# cd /usr/local/nginx/conf
# vim nginx.conf
设置一下参数,如下
加上user nginx nginx; 记得加上分号,不然会运行时会报错,然后按esc退出编辑,:wq 保存退出
设置nginx为系统服务
# vim /lib/systemd/system/nginx.service
文件内容:
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target
保存退出
设置nginx开机启动
# systemctl enable nginx.service
开启nginx服务
# systemctl start nginx.service
查看nginx是否启动成功
# ps -e | grep nginx
然后我们通过域名进入网站会出现下面的画面
welcome to nginx! 配置成功了
第三步:安装mysql数据库
查看是否已安装mysql
# rpm -qa mysql
如果有安装,需要先卸载
# rpm -e -nodeps 加上文件名称
查看是否存在与mysql相关的文件或目录,有的话删除
# whereis mysql
查看是否存在mariadb , 有的话删除
# rpm -qa | grep mariadb
# rpm -e --nodeps 加上搜索出来的文件名
存在/etc/my.cnf,则需要先删除
# rm /etc/my.cnf
安装编译mylsq需要的依赖包
# yum install libevent* libtool* autoconf* libstd* ncurse* bison* openssl*
安装cmake
查看是否已安装,有的话卸载
# rpm -qa cmake
没有的话继续安装,和安装nginx步骤一样
# cd /usr/local/src
# wget http://www.cmake.org/files/v2.8/cmake-2.8.12.1.tar.gz
# tar -xf cmake-2.8.12.1.tar.gz
# cd cmake-2.8.12.1
# ./configure
# make
# make install
编译安装之后检查是否安装成功
# cmake --version
安装成功了会显示出来,安装好依赖包之后就可以开始安装mysql了
下载mysql包和boost包并解压
# cd /usr/local/src
# wget https://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz
# wget http://cdn.mysql.com/Downloads/MySQL-5.7/mysql-5.7.23.tar.gz
安装依赖包
# yum -y install gcc gcc-c++ ncurses ncurses-devel cmake bison
# tar -zxvf boost_1_59_0.tar.gz
# tar -zxvf mysql-5.7.23.tar.gz
# mkdir -p /data/mysql
下好之后编译安装
# cd mysql-5.7.23
# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DWITH_BOOST=../boost_1_59_0 -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1 -DENABLE_DTRACE=0 -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_general_ci -DWITH_EMBEDDED_SERVER=1
# make
# make install
mysql安装时间可能会比较长,等十到二十分钟,装好之后开始配置mysql
添加组和用户
# groupadd mysql
# useradd -M -g mysql -s /sbin/nologin mysql
将mysql文件和里面的文件所有者改成用户mysql
# chown -R mysql:mysql /usr/local/mysql
初始化配置
# cd /usr/local/mysql/scripts
# ./mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
设置mysql为系统服务
# vim /lib/systemd/system/mysql.service
修改文件内容:
[Unit]
Description=mysql
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/mysql/support-files/mysql.server start
ExecStop=/usr/local/mysql/support-files/mysql.server stop
ExecRestart=/usr/local/mysql/support-files/mysql.server restart
ExecReload=/usr/local/mysql/support-files/mysql.server reload
PrivateTmp=true
[Install]
WantedBy=multi-user.target
设置开机启动,然后启动服务
# systemctl enable mysql.service
# systemctl start mysql.service
查看是否启动成功
# ps -e | grep mysql
登录mysql 设置root密码
# /usr/local/mysql/bin/mysql -u root
mysql> set password=password('root');
第四步:安装PHP7.26
首先安装依赖包
# yum install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel
这里用的是yum安装,也可以去下载一个libmcrypt-2.5.8.tar.gz编译安装
安装好依赖包之后,下载PHP包并解压
# cd /usr/local/src
# wget http://php.net/distributions/php-7.2.6.tar.gz
# tar -zxvf php-7.2.6.tar.gz
编译安装
# cd php-7.2.6
# ./configure --prefix=/usr/local/php --enable-exif --enable-fileinfo --enable-fpm --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-openssl --with-zlib --with-curl --enable-ftp --with-gd --with-xmlrpc --with-jpeg-dir --with-png-dir --with-freetype-dir --enable-gd-native-ttf --enable-mbstring --with-mcrypt=/usr/local/libmcrypt --enable-zip --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-mysql-sock=/var/lib/mysql/mysql.sock
# make
# make install
然后需要将PHP包解压目录的配置文件放到正确的位置,configure命令中的 --with-config-file-path设置的位置,有拷贝命令cp
# cp php.ini-development /etc/php.ini
创建运行php的组和用户
# groupadd www-data
# useradd -M -g www-data -s /sbin/nologin www-data
# cd /usr/local/php/etc
# cp php-fpm.conf.default php-fpm.conf
# cd php-fpm.d
# cp www.conf.default www.conf
# vim www.conf
进入配置文件修改用户和组
然后配置nginx支持php,进入nginx的配置文件
# vim /usr/local/nginx/conf/nginx.conf
修改加多一个index.php
将注释了的这段php配置释放出来,fastcgi_param那段后面改成$document_root
修改之后重启一下nginx
# systemctl restart nginx.service
设置php-fpm为系统服务
# vim /etc/systemd/system/php-fpm.service
修改内容:
[Unit]
Description=php-fpm
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/php/sbin/php-fpm
PrivateTmp=True
[Install]
WantedBy=multi-user.target
设置php-fpm服务开机启动,然后启动服务
# systemctl enable php-fpm.service
# systemctl start php-fpm.service
查看是否启动成功
# ps -e | grep php-fpm
现在LNMP环境已经搭好了,我们可以试下打开一个php文件
首先我们进入nginx默认的路径/usr/local/nginx/html,创建一个index.php文件
这时我们再从网站进入域名
好了,到这里呢我们的线上LNMP环境搭建完成,希望各位工作顺利,身体健康!