LNMP环境安装步骤

发布时间:2020/05/11 作者:天马行空 阅读(1004)

一、安装编译工具及库文件

yum -y install make zlib zlib-devel gcc-c++ libtool  openssl openssl-devel pcre-devel gd gd-devel ttf freetype curl-devel zlib-devel libxml2-devel bzip2-devel libxpm-devel libXpm libicu-devel libXpm-devel.i386 libXpm-devel.i586 libXpm-devel.i686 mbstring exif libicu-devel libmcrypt-devel php-mcrypt


二、安装 Nginx

#下载 Nginx
wget wget http://nginx.org/download/nginx-1.19.2.tar.gz
#解压安装包
tar -zvxf nginx-1.19.2.tar.gz
#进入安装包目录
cd nginx-1.19.2
#编译安装
./configure --prefix=/home/wwwroot/nginx --with-http_stub_status_module --with-http_ssl_module
make && make install


三、Nginx 配置

#创建 Nginx 运行使用的用户 www:
/usr/sbin/groupadd www
useradd -r -g www www
#修改配置文件nginx.conf
vi /home/wwwroot/nginx/conf/nginx.conf
#检查配置文件是否正确
/home/wwwroot/nginx/sbin/nginx -t
#启动
/home/wwwroot/nginx/sbin/nginx
/home/wwwroot/nginx/sbin/nginx -s reload            # 重新载入配置文件
/home/wwwroot/nginx/sbin/nginx -s reopen            # 重启 Nginx
/home/wwwroot/nginx/sbin/nginx -s stop              # 停止 Nginx

设置nginx为系统服务,将nginx拷贝到/etc/init.d/nginx,并修改路径

chmod a+x /etc/init.d/nginx
chkconfig --add nginx
chkconfig  nginx on


开启:/etc/init.d/nginx start
关闭:/etc/init.d/nginx stop
状态:/etc/init.d/nginx status
重启:/etc/init.d/nginx restart

四、安装php

#下载安装包
wget https://www.php.net/distributions/php-7.2.33.tar.gz --no-check-certificate
#解压
tar -zvxf php-7.2.33.tar.gz
#编译
./configure  --prefix=/home/wwwroot/php-7.2.33 --with-pdo-mysql=mysqlnd --with-config-file-path=/home/wwwroot/php-7.2.33/lib --enable-mysqlnd --with-gd --enable-gd-jis-conv --enable-fpm
#安装
make && make install

注意:如果要重新编译一定要先执行 make clean 切记!!!!!!

五、配置php-fpm

cd /home/wwwroot/php-7.2.33/etc/
cp php-fpm.conf.default php-fpm.conf
vi php-fpm.conf
#将user = nobody group = nobody 修改为 user = www group = www 这一行可能在包含文件中
#将;pid = run/php-fpm.pid 前面的分号删掉

#创建php.ini
cp 源码路径/php-7.2.33/php.ini-development /home/wwwroot/php-7.2.33/lib/php.ini

#设置php-fpm开机启动
cp 源码路径/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

#设置权限并启动php-fpm:
chmod 755 /etc/init.d/php-fpm
/etc/init.d/php-fpm start
chkconfig --add php-fpm

#最后,给出php-fpm以服务的方式启动、停止和重启:
service php-fpm start
service php-fpm stop
service php-fpm reload


六、结合php+nginx

cd /home/wwwroot/nginx/conf
vi  nginx.conf
user   www  www;  #修改nginx运行账号为:www组的www用户
index  index.php index.html index.htm;   #增加index.php
location ~ \.php$ {
root           html;
fastcgi_pass   127.0.0.1:9000;
fastcgi_index  index.php;
fastcgi_param  SCRIPT_FILENAME   $document_root$fastcgi_script_name;
include        fastcgi_params;
}


#取消FastCGI server部分location的注释,并要注意fastcgi_param行的参数,改为$document_root$fastcgi_script_name,或者使用绝对路径
#验证nginx配置语法

/home/wwwroot/nginx/sbin/nginx -t



#测试

cd /home/wwwroot/nginx/html
vim index.php


//内容如下
<?php phpinfo(); ?>
#如果能显示出php的环境信息,则表示配置成功


七、配置虚拟主机
在/home/wwwroot/nginx/conf下新建目录

mkdir vhosts
cd vhosts
vim onethinkcms.conf

// 加入如下配置

server {
listen  80;
server_name  netljc.com  old.netljc.com;
access_log  /home/wwwroot/nginx/logs/netljc.log;
location / {
root   /home/wwwroot/www/netljc/;
index  index.php index.html index.htm;
}
#  error_page   500 502 503 504  /50x.html;
#  location = /50x.html  {
#      root   /usr/share/nginx/html;
# }
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
location ~ .php$ {
# 这里的值对应的是$document_root
root /home/wwwroot/www/netljc;
fastcgi_pass   127.0.0.1:9000;
fastcgi_index  index.php;
#注意这里的路径
fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
include        fastcgi_params;
}
}


八、安装mysql
#安装cmake

yum -y install gcc gcc-c++ gcc-g77 autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel* make cmake


#下载mysql

wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.30.tar.gz


#解压

tar -zvxf mysql-5.7.30.tar.gz


#创建安装目录及数据存放目录

mkdir -p /home/wwwroot/mysql5.7
mkdir -p /home/wwwroot/mysql5.7/data


#创建mysql用户及用户组

groupadd mysql
useradd -r -g mysql mysql


#安装

cd mysql-5.7.30
#预编译
cmake \
-DCMAKE_INSTALL_PREFIX=/home/wwwroot/mysql5.7 \
-DMYSQL_DATADIR=/home/wwwroot/mysql5.7/data \
-DSYSCONFDIR=/home/wwwroot/mysql5.7 \
-DMYSQL_UNIX_ADDR=/home/wwwroot/mysql5.7/mysql.sock \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/usr/local/boost \
-DMYSQL_USER=mysql \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DMYSQL_TCP_PORT=3306 \
-Wno-dev

make && make install

参数说明:
DCMAKE_INSTALL_PREFIX=/usr/local/mysql:安装路径
DMYSQL_DATADIR=/data/mysql:数据文件存放位置
DSYSCONFDIR=/etc:my.cnf路径
DWITH_MYISAM_STORAGE_ENGINE=1:支持MyIASM引擎
DWITH_INNOBASE_STORAGE_ENGINE=1:支持InnoDB引擎
DMYSQL_UNIX_ADDR=/data/mysql/mysqld.sock:连接数据库socket路径
DMYSQL_TCP_PORT=3306:端口
DENABLED_LOCAL_INFILE=1:允许从本地导入数据
DWITH_PARTITION_STORAGE_ENGINE=1:安装支持数据库分区
DEXTRA_CHARSETS=all:安装所有的字符集
DDEFAULT_CHARSET=utf8:默认字符
DWITH_EMBEDDED_SERVER=1:嵌入式服务器

DDOWNLOAD_BOOST=1:自动下载boost

boost如果没有下载成功需要去手动下载:https://udomain.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz,并解压到:/usr/local/boost


#配置my.cnf

[mysqld]
port=3306
user=mysql
basedir=/home/wwwroot/mysql5.7
datadir=/home/wwwroot/mysql5.7/data
socket=/home/wwwroot/mysql5.7/mysql.sock
log-error=/home/wwwroot/mysql5.7/log/error.log
pid-file=/home/wwwroot/mysql5.7/mysqld.pid
explicit_defaults_for_timestamp=true


#修改/usr/local/mysql权限

chown -R mysql:mysql /home/wwwroot/mysql5.7
chmod -R 755 /home/wwwroot/mysql5.7/


#初始化配置

cd /home/wwwroot/mysql5.7


#执行初始化配置脚本,创建系统自带的数据库和表

/home/wwwroot/mysql5.7/bin/mysqld \
--defaults-file=/home/wwwroot/mysql5.7/my.cnf \
--user=mysql \
--basedir=/home/wwwroot/mysql5.7 \
--datadir=/home/wwwroot/mysql5.7/data \
--initialize-insecure

--initialize会生成一个临时密码 还可以用另外一个参数--initialize-insecure为空密码

mysql5.7使用mysqld代替了mysql_install_db


#添加服务,拷贝服务脚本到init.d目录

cp support-files/mysql.server /etc/init.d/mysql
chkconfig mysql on
service mysql start


#设置PATH

echo "export PATH=$PATH:/home/wwwroot/mysql5.7/bin" >> /etc/profile



#建立软连接,不然mysql -uroot执行不了

ln -s /home/wwwroot/mysql5.7/bin/mysql /usr/bin


#修改root密码

mysql -uroot
SET PASSWORD = PASSWORD('123456');
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;



阿里云有安全组策略,一定注意要去添加端口号


wamp环境安装教程:https://www.netljc.com/article/detail-69

环境下载请参考:https://www.netljc.com/article/detail-67

关键字lnmp php mysql nginx