LNMP以源码实现环境搭建的过程(详细)

LNMP以源码实现环境搭建的过程(详细)

内容导读

收集整理的这篇技术教程文章主要介绍了LNMP以源码实现环境搭建的过程(详细),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含6454字,纯文字阅读大概需要10分钟

内容图文

本篇文章给大家带来的内容是关于LNMP以源码的方式记录环境搭建的过程(详细),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

LNMP指的是在Linux下用PHP+MYSQL+NGIX搭建网站的环境。

Nginx是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。Nginx不仅可以作为web服务器,也可以作为负载均衡器。

MySQL是一款开源免费的数据软件,MySQL是一个小型关系型数据库管理系统,其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库.

PHP,是英文超级文本预处理语言Hypertext Preprocessor的缩写。PHP 是一种 HTML 内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言,其源码是由C语言写成的,故风格也与C语言类似,被广泛的运用于搭建中小型网站。

下面就记录一下LNMP环境的搭建过程,题主的Linux环境是CentOs虚拟镜像。

【Nginx安装】

目前最新的Nginx稳定版本是1.14.0,网址为http://nginx.org/en/download.html,可直接在Windows下载好再rz上传到Linux下,也可直接用wget方式下载,下面列出的下载方式是后者。

cd /usr/src




#一般将源码放在此目录下wget http://nginx.org/download/nginx-1.14.0.tar.gz
#安装

注意:nginx的安装依赖zlib-devel pcre-devel openssl-devel 这几个包,故我们在安装nginx前需先安装这几个包,以免安装过程中出错。

yum -y install zlib-devel pcre-devel openssl-devel

........

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

1、解压

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


2、预编译

我们进行预编译的时候,一般会带上一些参数,已达到我们想要安装的效果,比如启用某个功能,禁用某个功能:

进入源码包目录进行预编译:

cd nginx-1.14.0 ./configure --prefix=/data/webserver/nginx
 # 指定安装目录为/usr/local/nginx--with-openssl=/usr/include/openssl
# 启用ssl--with-pcre












# 启用正规表达式--with-http_stub_status_module



# 安装可以查看nginx状态的程序

                  ......  

3、编译

./configure指执行当前目录下的configure文件,预编译完成后我们就可以进行编译和安装:

make
 #编译

 ....

4、安装

make install #安装

 ....  

  安装完成后我们可以到相应的目录查看安装的文件:

ls /data/webserver/nginx

  接着就可以启动nginx了:

/data/webserver/nginx/sbin/nginx
 #启动nginx/data/webserver/nginx/sbin/nginx -s stop #停止nginx/data/webserver/nginx/sbin/nginx -s relaod #重启nginx


#由图可知nginx已启动

netstat -antlp ¦ grep 80
#nginx占用TCP的80端口由图也可知nginx已启动

【MySQL安装】  

至此,nginx已安装启动完毕,接着我们来安装MySQL,类似的,我们依旧需要先安装MySQL的依赖包:

yum -y install wget
cmake gcc gcc-c++ ncurses
ncurses-devel
libaio-devel
openssl openssl-devel

.......

接着我们下载源码:

wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-boost-8.0.11.tar.gz

.......

创建mysql用户:

 groupadd mysql useradd -r -g mysql -s /bin/false mysql

创建安装目录和数据目录:

mkdir -p /usr/local/mysqlmkdir -p /data/mysql

解压源码包:

 tar -zxf mysql-boost-8.0.11.tar.gz -C /usr/local

编译&安装:

cd /usr/local/mysql-8.0.11cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DMYSQL_TCP_PORT=3306 -DWITH_BOOST=/usr/local/mysql-8.0.11/boost make
&& make install

安装成功后我们可启动mysql:

cd /usr/local/mysqlbin/mysqld_safe --user=mysql

启动成功,连接mysql

bin/mysql -uroot -p

此时要求输入连接密码,比较旧的版本的mysql安装时默认密码为空,但该5.7之后的版本有默认的密码,由于我们不知道,因此关闭mysql服务后(可直接查询进程根据进程号kill掉或/etc/init.d/mysql stop ),改用跳过密码的方式重新开启mysql服务。

bin/mysqld_safe --user=mysql & skip-grant-tables

重新连接

bin/mysql -uroot

连接成功后修改密码

mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';mysql> FLUSH PRIVILEGES;

此时重启mysql服务,便可以账号密码方式连接mysql。

【PHP安装】

先安装php依赖包,否则在编译安装php7的过程当中会出现各种报错,安装完成后即可进入下一个环节。

安装扩展包并更新系统内核:

yum install epel-release -yyum update

安装php依赖组件(包含Nginx依赖),前面nginx以及mysql安装过的可以忽略,也可以直接复制运行,会跳过已安装的依赖:

yum -y install wget vim pcre pcre-devel openssl openssl-devel libicu-devel gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel ncurses ncurses-devel curl curl-devel krb5-devel libidn libidn-devel openldap openldap-devel nss_ldap jemalloc-devel cmake boost-devel bison automake libevent libevent-devel gd gd-devel libtool* libmcrypt libmcrypt-devel mcrypt mhash libxslt libxslt-devel readline readline-devel gmp gmp-devel libcurl libcurl-devel openjpeg-devel


........

创建用户和组,并下载php安装包解压:

cd /tmpgroupadd wwwuseradd -g www wwwwget http://cn2.php.com/distributions/php-7.2.0.tar.gztar xvf php-7.2.1.tar.gzcd php-7.2.0

设置变量并开始源码编译:

cp -frp /usr/lib64/libldap* /usr/lib/./configure --prefix=/data/webserver/php --with-config-file-path=/data/webserver/php/etc --enable-fpm --with-fpm-user=www --with-fpm-group=www --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --enable-mysqlnd-compression-support --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-mbstring --enable-intl --with-mcrypt --with-libmbfl --enable-ftp --with-gd --enable-gd-jis-conv --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --with-gettext --disable-fileinfo --enable-opcache --with-pear --enable-maintainer-zts --with-ldap=shared --without-gdbm 

开始安装

make -j 4 && make install

完成安装后配置php.ini文件:

cp php.ini-development /data/webserver/php/etc/php.inicp /data/webserver/php/etc/php-fpm.conf.default /data/webserver/php/etc/php-fpm.confcp /data/webserver/php/etc/php-fpm.d/www.conf.default /data/webserver/php/etc/php-fpm.d/www.conf

修改 php.ini 相关参数:

vim /data/webserver/php/etc/php.iniexpose_php = Offshort_open_tag = ONmax_execution_time = 300max_input_time = 300memory_limit = 128Mpost_max_size = 32Mdate.timezone = Asia/Shanghaimbstring.func_overload=2

重启PHP,至此LNMP环境已搭建完成。

相关文章推荐:

Nginx配置fastcgi cache的方法介绍

docker安装php环境的实际操作步骤

以上就是LNMP以源码实现环境搭建的过程(详细)的详细内容,更多请关注Gxl网其它相关文章!

内容总结

以上是为您收集整理的LNMP以源码实现环境搭建的过程(详细)全部内容,希望文章能够帮你解决LNMP以源码实现环境搭建的过程(详细)所遇到的程序开发问题。 如果觉得技术教程内容还不错,欢迎将网站推荐给程序员好友。

内容备注

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。


本文关键词:

联系我们

在线咨询:点击这里给我发消息

邮件:w420220301@qq.com