目录
本篇为纯安装教程
在部署之前,需要对系统进行一些必要的操作,关闭防火墙、关闭增强功能等,L和LAMP一样是Linux操作系统,我们默认在Linux操作系统上进行
一、Nginx安装部署
1.安装包下载
进入Nginx官网,找到需要安装的版本,复制链接或者下载到本机然后上传至服务端
如果选择链接下载,输入命令
wegt https://nginx.org/download/nginx-1.12.2.tar.gz
2.下载相关依赖工具
yum -y install pcre-devel zlib-devel gcc gcc-c++ make
3. 创建运行用户
useradd -M -s /sbin/nologin nginx
4.编译安装
cd /下载安装包的目录(我这里是放在了/opt下)
解压刚才下载的压缩包
tar zxvf nginx-1.12.2.tar.gz (我的版本与你的或许不一致,直接打一个ng然后补全就好)
进入到解压后的目录
进行编译
./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module
完成后 make && make install
5.优化路径
设置一个软链接,方便系统识别
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
6.将nginx添加至系统服务
vim /lib/systemd/system/nginx.service
输入如下内容:
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
7.文件赋权
chmod 754 /lib/systemd/system/nginx.service
都完成后我们可以nginx -t 查看有无语法错误
一个ok 一个successful ,成功了,现在可以启动服务了
systemctl start nginx.service
systemctl enable nginx.service
如果启动不成功可以看看80 端口是否被 httpd 占用了
我就遇到过这种情况,直接关闭httpd服务
Nginx部署安装成功了
二、MySQL部署安装
和nginx部署安装一样,先下载安装包,mysql官网可能有点复杂,可以看我之前的一篇博客,虽然是讲的LAMP部署,但包含了MySQL:
https://blog.csdn.net/qq_59677536/article/details/141129859?spm=1001.2014.3001.5501
我这里还是直接用我之前用的版本压缩包了 mysql-5.7.20.tar.gz
如果有什么问题或者需要我发送压缩包的请私信我,
1.解压
老样子,还是先解压缩
tar zxvf mysql—5.7.20.tar.gz
2.安装相关工具
yum -y install ncurses ncurses-devel bison cmake
3.创建运行用户
useradd -M -s /sbin/nologin mysql
4.编译安装
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_EXTRA_CHARSETS=all \
-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
完成后
make && make install
这个过程需要一些时间,如果服务器内存大、处理器核数多的话,需要的时间会相应短一些
完成
5.修改配置文件
vim /etc/my.cnf
[client]
port = 3306
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
bind-address = 0.0.0.0
skip-name-resolve
max_connections=2048
default-storage-engine=INNODB
max_allowed_packet=16M
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
6.更改mysql安装目录和配置文件的属主属组
chown -R mysql:mysql /usr/local/mysql/
chown mysql:mysql /etc/my.cnf
7.设置环境变量
echo 'export PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile
source /etc/profile
8.初始化数据库
去到 /usr/local/mysql/bin 目录下
输入如下内容
./mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data
9. 添加mysqld系统服务
讲 /usr local/mysql/usr/lib/systemcd/system/mysqld.service 文件复制到
/usr/lib/systemd/system/ 目录下
systemctl daemon-reload
systemctl start mysqld.service
systemctl enable mysqld
10.设置 mysql登陆密码
mysqladmin -u root -p password "123123" (abc123是我自己设置的,可以根据自己的需求设置)
注意:输入mysqladmin -u root -p password "123123" 后,出现Enter password,不要输入密码,在按依次回车就可以了
11. 登录
mysql -u root -p
输入密码
Show databases;
出现如图所示,数据库安装完成
三、PHP安装部署
1.下载安装包
同样的去官网下载,我的LAMP 博客中也有下载的地址和方法
解压缩
tar zxvf php-7.1.24.tar.gz
2.安装相关依赖包工具等
yum -y install gd libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel curl curl-devel openssl openssl-devel
3.编译
安装相关软件完成后,同样的我们进入解压后的文件目录,进行编译
./configure \
--prefix=/usr/local/php7 \
--with-apxs2=/usr/local/httpd/bin/apxs \
--with-mysql-sock=/usr/local/mysql/mysql.sock \
--with-config-file-path=/usr/local/php7 \
--with-mysqli \
--with-zlib \
--with-curl \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-openssl \
--enable-mbstring \
--enable-xml \
--enable-session \
--enable-ftp \
--enable-pdo \
--enable-tokenizer
编译完成后
make && make install
顺便做一个路径优化,方便系统识别
ln -s /usr/local/php/bin/* /usr/local/bin/
ln -s /usr/local/php/sbin/* /usr/local/sbin/
4.修改配置文件
cp /opt/php-7.1.24/php.ini-development /usr/local/php/lib/php.ini 复制文件模板
vim /usr/local/php/lib/php.ini
--939行左右,取消注释并修改
date.timezone = Asia/Shanghai
--1170行左右
mysqli.default_socket = /usr/local/mysql/mysql.sock
保存并退出
接下来调整进程服务配置文件
cd /usr/local/php/etc/
cp php-fpm.conf.default php-fpm.conf
vim /php-fpm.conf
去掉17行注释
将扩展配置文件稍作调整
cd /usr/local/php/etc/php-fpm.d/
cp www.conf.default www.conf
启动php-fpm
/usr/local/php/sbin/php-fpm -c /usr/local/php/lib/php.ini
查看端口
netstat -anpt | grep 9000
启动成功
5.配置Nginx 支持php
到此php安装配置基本上就结束了,但是还没有算是完全部署成功,我们需要让我们的Nginx支持php
cd /opt/php-7.1.10/sapi/fpm
cp php-fpm.service /usr/lib/systemd/system/php-fpm.service
systemctl restart php-fpm.service
vim /usr/local/nginx/conf/nginx.conf
65行,取消注释,修改
将 /scripts 修改为nginx的工作目录
保存退出
重启Nginx 服务
创建php测试页面
vim /usr/local/nginx/html/index.php
<?php
phpinfo();
?>
浏览器输入 ip /index.php
LNMP搭建完成