lnmp搭建(源码安装)

一般源码安装分为四个步骤,解压(tar),预编译(执行源码包下的configure),编译(make),编译安装(make install)

1.安装nginx

参考博客:https://www.linu e2xzen.com/lnmphuan-jing-da-jian-wan-quan-shou-ce-si-lnmpda-jian-yuan-ma-an-zhuang.html
http://baijiahao.baidu.com/s?id=1582175810794337267&wfr=spider&for=pc

(1)下载:

cd /usr/src # 一般软件源码放在这个目录下
wget http://nginx.org/download/nginx-1.0.13.tar.gz # 下载
nginx会有几个依赖包,我们首先安装依赖,不要安装过程中会报错:
yum -y install zlib-devel pcre-devel openssl-devel

(2)解压,这里解释下参数,z代表gzip(也就是后面的.gz文件)x代表加压,v表示显示详细信息,-f使用档案文件或设备(必选参数)

tar -zxvf nginx-1.0.13.tar.gz

(3)预编译

cd nginx-1.0.13
./configure --prefix=/usr/local/nginx # 指定安装目录为/usr/local/nginx
如果预编译报错:

(4)编译安装

预编译完成后我们就可以进行编译和安装:
make #编译

执行后make后会有大量输出,等待输出完成后如果没有报错就可以进行安装执行:
make install #安装
安装完成后我们可以到相应的目录查看安装的文件:
ls /usr/local/nginx/
conf html logs sbin

启动nginx:
/usr/local/nginx/sbin/nginx

通过查看端口看nginx是否启动成功,nginx占用TCP的80端口,执行下面命令:
netstat -antlp ¦ grep 80

添加服务到开机自动启动(centos7开机自启动nginx,php-fpm)
源码安装的手动建立nginx.service服务文件
参考博客:https://www.jianshu.com/p/b5fa86d54685
1.在系统服务目录里创建nginx.service文件
vi /lib/systemd/system/nginx.service
写入如下内容
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
After:描述服务类别
[Service]服务运行参数的设置
Type=forking是后台运行的形式
ExecStart为服务的具体运行命令
ExecReload为重启命令
ExecStop为停止命令
PrivateTmp=True表示给服务分配独立的临时空间
注意:[Service]的启动、重启、停止命令全部要求使用绝对路径
[Install]运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3
测试并加入开机自启
先关闭nginx
使用以下命令开启
systemctl start nginx.service #如果服务是开启状态,使用此命令会启动失败。

2.安装mysql

MySQL自5.5版本以后,就开始使用CMake编译工具了,因此,你在安装源文件中找不到configure文件是正常的。很多人下到了新版的MySQL,因为找不到configure文件,不知道该怎么继续下去。有没有一篇可供参考的文章呢?其实在http://forge.mysql.com网站上有一篇文章,专门介绍了如何用CMake工具进行新版MySQL的编译安装。
参考博客:https://help.aliyun.com/document_detail/50700.html?spm=5176.11065259.1996646101.searchclickresult.297e168awbmSRf
和:
https://www.chenyudong.com/archives/building-mysql-5-6-from-source.html#comments

(1)下载:

wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.16.tar.gz
安装依赖:
yum install -y ncurses-devel

1、准备编译环境。

yum groupinstall "Server Platform Development" "Development tools" -y
yum install cmake -y

2、准备mysql数据存放目录。

#mkdir /mnt/data
#groupadd -r mysql
#useradd -r -g mysql -s /sbin/nologin mysql
#id mysql
uid=497(mysql) gid=498(mysql) groups=498(mysql)

3、更改数据目录属主属组。

#chown -R mysql:mysql /mnt/data

4、解压编译在MySQL官网下载的稳定版源码包,这里使用的是5.6.24版本

#tar xvf mysql-5.6.24.tar.gz -C /usr/local/src
#cd /usr/local/src/mysql-5.6.24
#cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/mnt/data \
-DSYSCONFDIR=/etc \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DWITH_LIBWRAP=0 \
-DMYSQL_TCP_PORT=3306 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci

有时候会出现类似的问题。
Googlemock was not found. gtest-based unit tests will be disabled. You can run cmake . -DENABLE_DOWNLOADS=1 to automatically download and build required components from source. — If you are inside a firewall, you may need to use an http proxy: export http_proxy=http://example.com:80
后加参数-DENABLE_DOWNLOADS=1 自动下载。
有网络限制,设置http代理export http_proxy=http://example.com:80
然后执行: # make && make install

5、修改安装目录的属组为mysql。

#chown -R mysql:mysql /usr/local/mysql/

6、初始化数据库。

#/usr/local/mysql/scripts/mysql_install_db --user=mysql --datadir=/mnt/data/
注:在CentOS 6.5版操作系统的最小安装完成后,在/etc目录下会存在一个my.cnf,需要将此文件更名为其他的名字,如:/etc/my.cnf.bak,否则,该文件会干扰源码安装的MySQL的正确配置,造成无法启动。

7、拷贝配置文件和启动脚本。

#cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
#chmod +x /etc/init.d/mysqld
#cp support-files/my-default.cnf /etc/my.cnf

8、设置开机自动启动。

#chkconfig mysqld on
#chkconfig --add mysqld

9、修改配置文件中的安装路径及数据目录存放路径。

#echo -e "basedir = /usr/local/mysql\ndatadir = /mnt/data\n" >> /etc/my.cnf

10、设置PATH环境变量。

#echo "export PATH=$PATH:/usr/local/mysql/bin" > /etc/profile.d/mysql.sh
#source /etc/profile.d/mysql.sh

11、启动服务。

#service mysqld start
#mysql -h 127.0.0.1

3.安装php

方法一:
安装依赖库,
yum –y install gcc automake autoconf libtool make
yum –y install gcc gcc-c++ glibc
yum –y install libmcrypt-devel mhash-devel libxslt-devel
yum –y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel
yum –y install zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel
yum -y install ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel
yum -y install krb5 krb5-devel libidn libidn-devel openssl openssl-devel

(1)下载解压

wget http://cn2.php.net/distributions/php-7.1.1.tar.gz
tar -zxf php-7.1.1
如果解压缩时报错,可能是安装包的问题,需要重新下载。

(2)预编译
cd php-7.1.1
./configure --prefix=/usr/local/php --enable-fpm --with-mcrypt --enable-mbstring --disable-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-mysql --with-mysqli --with-gd --with-jpeg-dir --with-gettext --enable-xml --enable-freetype

编译过程中如果报错,可以在编译语句后加 --disable-fileinfo
然后执行命令make&&make install

( 3 ) 复制配置文件
cp php.ini-production /usr/local/php/php.ini 
cp /usr/local/php/etc/php-fpm.conf.default /usr/locla/php/etc/php-fpm.conf
cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf

启动php-fpm
/usr/local/php/sbin/php-fpm
设置开机自启动
/etc/rc.local

配置nginx
vi /usr/local/nginx/conf/nginx.conf
添加内容如下:

查看端口,kill进程
ps -ef | grep nginx
kill -9 pid
重启,如果报错根据错误提示修改配置文件。
/usr/locl/nginx/sbin/nginx
然后在/usr/local/nginx/html下创建index.php,
vi /usr/local/nginx/html/index.php
写入内容:<?php phpinfo(); ?>
保存退出后,访问localhost/index.php
看到版本信息配置成功.
方法二:
参考博客:https://help.aliyun.com/document_detail/50700.html?spm=5176.11065259.1996646101.searchclickresult.297e168awbmSRf

1.安装方法一依赖,centos的yum源里没有libmcrypt-devel这个包,所以需要借助elep的yum源,先安装epel,在安装libmcrypt

yum -y install epel-release
yum -y install libmcrypt-devel1.1
下载源码包:
wget http://cn2.php.net/distributions/php-5.6.23.tar.gz
2、解压官网下载的源码包,编译安装。
注意:如果没有安装mysql,这里去掉mysql路径

#tar xvf php-5.6.23.tar.bz2 -C /usr/local/src
#cd /usr/local/src/php-5.6.23
#./configure --prefix=/usr/local/php \
--with-config-file-scan-dir=/etc/php.d \
--with-config-file-path=/etc \
--with-mysql=/usr/local/mysql \
--with-mysqli=/usr/local/mysql/bin/mysql_config \
--enable-mbstring \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib \
--with-libxml-dir=/usr \
--with-openssl \
-enable-xml \
--enable-sockets \
--enable-fpm \
--with-mcrypt \
--with-bz2
#make && make install
3、添加php和php-fpm配置文件。
#cp /usr/local/src/php-5.6.23/php.ini-production /etc/php.ini
#cd /usr/local/php/etc/
#cp php-fpm.conf.default php-fpm.conf
#sed -i 's@;pid = run/php-fpm.pid@pid = /usr/local/php/var/run/php-fpm.pid@' php-fpm.confetc
4、添加php-fpm启动脚本。
#chmod +x /etc/init.d/php-fpm
5、添加php-fpm至服务列表并设置开机自启。
#chkconfig --list php-fpm     
#chkconfig php-fpm on

6、启动服务。

#service php-fpm start   

配置环境变量 PHP-v时,找到版本

export PATH=$PATH:/usr/local/php/bin

配置环境变量 nginx-v时,找到版本

export PATH=$PATH:/usr/local/nginx/sbin/

安装composer之后,composer update时,如果出现http上或者更新缓慢的问题,需求切换成中国镜像,具体参考博客如下:https://pkg.phpcomposer.com/
方法一: 修改 composer 的全局配置文件(推荐方式)
打开命令行窗口(windows用户)或控制台(Linux、Mac 用户)并执行如下命令:

composer config -g repo.packagist composer https://packagist.phpcomposer.com

猜你喜欢

转载自blog.csdn.net/weixin_44265867/article/details/85250417
今日推荐