安装nginx
1.关闭防火墙及内核防护 systemctl stop firewalld systemctl disable firewalld setenforce 0
2.安装环境依赖包 yum install gcc gcc-c++ pcre-devel zlib-d
3.编译安装nginx tar zxvf nginx-1.12.2.tar.gz -C /opt/ cd /opt/nginx-1.12.2
useradd -M -s /sbin/nologin nginx
./configure \ –prefix=/usr/local/nginx \ –user=nginx \ –group=nginx \ –with-http_stub_status_module
make && make install
4.优化路径 ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ ls -l /usr/local/sbin/nginx
5.检查配置文件 nginx -t
6.添加系统服务 cd /lib/systemd/system vim nginx.service (vim是vi编辑器的增强版,如果出现bash等提示信息说明vim没有安装,执行yum -y install vim 即可) [Unit] Description=nginx After=network.target [Service] Type=forking PIDFile=/usr/local/nginx/logs/nginx.pid ExecStart=/usr/local/nginx/sbin/nginx ExecReload=/usr/bin/kill -s HUP $MAINPID ExecStop=/usr/bin/kill -s QUIT $MAINPID PrivateTmp=true [Install] WantedBy=multi-user.target
7.修改nginx.service权限 chmod 754 nginx.service
8.启动服务并查看端口 systemctl start nginx.service (执行该命令时用tab键看看nginx.service能否补全,如果能够通过tab补全表示添加系统服务没问题,那么执行命令直接开启nginx服务)
netstat -antp | grep 80 (查看80端口状态,如果出现bash信息,执行yum -y install net-tools后即可) 9.验证 在浏览器输入IP,例如我的IP是20.00.60,在浏览器输入20.0.0.60
安装MySQL
1.安装mysql环境依赖包 yum -y install ncurses ncurses-devel bison cmake 解释: ncurses(字符终端处理工具) bison (语法分析器) cmake (一个跨平台的编译工具)
2.创建mysql运行管理用户 useradd -s /sbin/nologin mysql
3.解压mysql安装包 cd /opt tar zxvf tar zxvf mysql-boost-5.7.20.tar.gz cd mysql-5.7.20/
4.编译安装mysql cmake \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \ -DSYSCONFDIR=/etc \ -DSYSTEMD_PID_DIR=/usr/local/mysql \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_ARCHIVE_STORAGE_ENGINE=1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \ -DMYSQL_DATADIR=/usr/local/mysql/data \ -DWITH_BOOST=boost \ -DWITH_SYSTEMD=1 解释: DCMAKE_INSTALL_PREFIX(指定 mysql 数据库安装路径) DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock (指定连接文件) DSYSCONFDIR=/etc (配置文件存放目录) DSYSTEMD_PID_DIR=/usr/local/mysql(PID文件存放目录) DDEFAULT_CHARSET=utf8(默认字符集,utf8) DDEFAULT_COLLATION==utf8_general_ci(指定默认使用的字符集校对规则,utf8_general_ci 是适用于 UTF-8 字符集的通用规则) DMYSQL_DATADIR=/usr/local/mysql/data (mysql数据存放位置) DWITH_BOOST=boost (支持运行库) DWITH_SYSTEMD(主从复制要用到的ID序列号)
make && make install
5.调整数据库目录权限 chown -R mysql:mysql /usr/local/mysql/
6.调整配置文件 vi /etc/my.cnf (将原有内容全部删除,添加如下内容) [client] port = 3306 default-character-set=utf8 socket = /usr/local/mysql/mysql.sock
[mysql] port = 3306 default-character-set=utf8 socket = /usr/local/mysql/mysql.sock
[mysqld] user = mysql basedir = /usr/local/mysql datadir = /usr/local/mysql/data port = 3306 character_set_server=utf8 pid-file = /usr/local/mysql/mysqld.pid socket = /usr/local/mysql/mysql.sock server-id = 1
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES (:wq保存退出)
chown mysql:mysql /etc/my.cnf (修改所属)
7.设置环境变量 echo ‘PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH’ >> /etc/profile source /etc/profile
8.初始化数据库 cd /usr/local/mysql/
bin/mysqld \ –initialize-insecure \ –user=mysql \ –basedir=/usr/local/mysql \ –datadir=/usr/local/mysql/data cp usr/lib/systemd/system/mysqld.service /lib/systemd/system/
9.开启数据库 cd /lib/systemd/system/ systemctl start mysqld.service (mysqld.service可以用tab补全) netstat -antp | grep 3306 (查看3306端口,mysql数据库默认端口是3306,在配置文件的时候端口也是3306)
10.设置MySQL密码 mysqladmin -u root password
11.登录MySQL数据库 mysql -u root -p
安装PHP
1.安装环境依赖包 yum -y install \ libjpeg \ libjpeg-devel \ libpng libpng-devel \ freetype freetype-devel \ libxml2 \ libxml2-devel \ zlib zlib-devel \ curl curl-devel \ openssl openssl-devel
2.编译安装php cd /opt tar jxvf php-7.1.10.tar.bz2 cd php-7.1.10
./configure \ –prefix=/usr/local/php \ –with-mysql-sock=/usr/local/mysql/mysql.sock \ –with-mysqli \ –with-zlib \ –with-curl \ –with-gd \ –with-jpeg-dir \ –with-png-dir \ –with-freetype-dir \ –with-openssl \ –enable-fpm \ –enable-mbstring \ –enable-xml \ –enable-session \ –enable-ftp \ –enable-pdo \ –enable-tokenizer \ –enable-zip 解释: prefix=/usr/local/php (指定安装目录) with-mysql-sock=/usr/local/mysql/mysql.sock (指向mysql连接文件) with-mysqli (客户终端工具) with-zlib (压缩库) with-curl (一个利用URL语法在命令行下工作的文件传输工具) with-gd (图像化处理) with-jpeg-dir (jpeg格式图片) with-png-dir (png格式图片) with-freetype-dir (字体目录) with-openssl (安全证书认证) enable-fpm (进行动态请求的模块) enable-mbstring (多字节字符串) enable-xml (xml格式支持) enable-session (网页会话) enable-ftp (文件传输) enable-pdo (通用接口) enable-tokenizer (函数库) enable-zip (压缩) make && make install php有三个配置文件:php.ini(核心配置文件) php-fpm.conf(进程服务配置文件) www.conf(扩展配置文件)
cp php.ini-development /usr/local/php/lib/php.ini
vim /usr/local/php/lib/php.ini 修改这两个地方: mysqli.default_socket = /usr/local/mysql/mysql.sock
date.timezone = Asia/Shanghai
/usr/local/php/bin/php -m (验证安装的模块) 3.配置优化FPM模块 cd /usr/local/php/etc cp php-fpm.conf.default php-fpm.conf vim php-fpm.conf 将pid = run/php-fpm.pid前面的符号删除
cd php-fpm.d/ cp www.conf.default www.conf
/usr/local/php/sbin/php-fpm -c /usr/local/php/lib/php.ini
netstat -antp | grep 9000 (查看9000端口服务有没有开启)
ln -s /usr/local/php/bin/* /usr/local/bin/
4.让nginx支持php功能 vim /usr/local/nginx/conf/nginx.conf
5.重启nginx服务 systemctl stop nginx.service systemctl start nginx.service
6.修改主页类型 cd /usr/local/nginx/html mv index.html index.php
vim index.php 清空里面的内容,输入下面内容: <?php phpinfo(); ?>
在浏览器输入ip地址测试,比如我的IP地址为20.0.0.60,那么我在地址栏输入20.0.0.60/index.php
到此,LNMP搭建完成。
