這篇文章帶給大家的內容是關於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
#
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/mysql mkdir -p /data/mysql
解壓縮原始碼套件:
tar -zxf mysql-boost-8.0.11.tar.gz -C /usr/local
编译&安装:
cd /usr/local/mysql-8.0.11 cmake . -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/mysql bin/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 -y yum 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 /tmp groupadd www useradd -g www www wget http://cn2.php.net/distributions/php-7.2.0.tar.gz tar xvf php-7.2.1.tar.gz cd 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.ini cp /data/webserver/php/etc/php-fpm.conf.default /data/webserver/php/etc/php-fpm.conf cp /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.ini expose_php = Off short_open_tag = ON max_execution_time = 300 max_input_time = 300 memory_limit = 128M post_max_size = 32M date.timezone = Asia/Shanghai mbstring.func_overload=2
重启PHP,至此LNMP环境已搭建完成。
相关文章推荐:
以上是LNMP以原始碼實現環境搭建的過程(詳細)的詳細內容。更多資訊請關注PHP中文網其他相關文章!