Centos7.0编译安装lnmp环境(nginx1.9.9+php7.1.6+mysql5.7.17)

来源:互联网 发布:淘宝联盟网站推广设置 编辑:程序博客网 时间:2024/05/21 18:33


本次安装选用都是当前最高版本文件
环境:VM+CentOS7+Linux+Nginx1.9.9+PHP7.1.6+Mysql5.7.17
所需包下载地址:http://download.csdn.net/detail/luckymama/9876285点击打开链接(boost太大,没上传,文章内都含有下载地址)
操作技巧:使用shell工具连接到虚拟机系统,实现window和虚拟机的粘贴复制
本文从有道云笔记复制过来的,格式太难调整了,有需要的请看:centos7.0编译安装lnmp环境

准备篇
一、配置防火墙,开启80端口、3306端口
CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙。
1、关闭firewall:
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
2、安装iptables防火墙
yum install iptables-services #安装
vi /etc/sysconfig/iptables #编辑防火墙配置文件,增加两行
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT  
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
:wq! #保存退出
systemctl restart iptables.service #最后重启防火墙使配置生效:
systemctl enable iptables.service #设置防火墙开机启动
二、关闭SELINUX
vi /etc/selinux/config
#SELINUX=enforcing #注释掉
#SELINUXTYPE=targeted #注释掉
SELINUX=disabled #增加
:wq! #保存退出
setenforce 0 #使配置立即生效
三、安装依赖包
yum install wget gzip gcc gcc-c++ ncurses-devel perl openssl openssl-devel libxml2-devel libxslt-devel perl-devel perl-ExtUtils-Embed
yum install libxml2 bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-develreadlinereadline-devel libxslt libxslt-devel
yum install cmake make bison ncurses chkconfig lsof perl-Data-Dumper boost boost-doc boost-devel
四、新建目录
cd /usr/local
mkdir tar


安装篇
一、安装nginx
1、进入tar目录,下载nginx,下载地址:http://nginx.org/download/nginx-1.9.9.tar.gz
wget -chttp://nginx.org/download/nginx-1.9.9.tar.gz
2、解压
tar -zxvfnginx-1.9.9.tar.gz
如果解压报错, stdin: not in gzip format,可以先将nginx-1.9.9.tar.gz重命名为nginx-1.9.9.tar,然后再解压
mv nginx-1.9.9.tar.gz nginx-1.9.9.tar
tar -xvf nginx-1.9.9.tar
3、下载必要库 (放在nginx解压包目录/usr/local/tar/nginx-1.9.9)
#######下载pcre的tar包并解压,以便支持Nginx的Rewrite功能
wget -c https://ftp.pcre.org/pub/pcre/pcre-8.40.tar.gz  && tar  -zxf pcre-8.40.tar.gz 
#######下载zlib的tar包并解压,以便支持Nginx的Gzip压缩功能
wget -c http://zlib.net/zlib-1.2.11.tar.gz && tar -zxf zlib-1.2.11.tar.gz
4、配置
./configure--prefix=/usr/local/nginx--sbin-path=/usr/sbin/nginx--conf-path=/usr/local/nginx/nginx.conf--pid-path=/usr/local/nginx/nginx.pid--with-http_ssl_module--with-pcre=/usr/local/tar/nginx1.9.9/pcre.8.40--with-zlib=/usr/local/tar/nginx1.9.9/zlib.1.2.11
5、安装
make && make install
6、启动
sudo nginx -c /usr/local/nginx/nginx.conf
sudo nginx -s reload
启动另外两种方式:systemctl start nginx.service 和 /etc/init.d/nginx start (这种启动方式需要配置,详见http://note.youdao.com/noteshare?id=845e4519245cf3b8adc918a7706ca53d)
7、检测启动成功
ps -ef | grep nginx
8、创建项目目录,修改nginx配置
主要是修改对php文件的解析,还有root指向的项目根目录,以及fastcgsi
location ~ \.php$ {
root /data/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
#fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
9、测试

二、安装php
1、进入tar目录,下载php,下载地址:http://cn2.php.net/distributions/php-7.1.6.tar.gz
wgethttp://cn2.php.net/distributions/php-7.1.6.tar.gz
2、解压
tar -zxvfphp-7.1.6.tar.gz
3、配置
./configure--prefix=/usr/local/php--with-config-file-path=/etc--enable-fpm--with-fpm-user=nginx--with-fpm-group=nginx--enable-inline-optimization--disable-debug--disable-rpath--enable-shared--enable-soap--with-libxml-dir--with-xmlrpc--with-openssl--with-mcrypt=/usr/local/libmcrypt--with-mhash--with-pcre-regex--with-sqlite3--with-zlib--enable-bcmath--with-iconv--with-bz2--enable-calendar--with-curl--with-cdb--enable-dom--enable-exif--enable-fileinfo--enable-filter--with-pcre-dir--enable-ftp--with-gd--with-openssl-dir--with-jpeg-dir--with-png-dir--with-zlib-dir--with-freetype-dir--enable-gd-native-ttf--enable-gd-jis-conv--with-gettext--with-gmp--with-mhash--enable-json--enable-mbstring--enable-mbregex--enable-mbregex-backtrack--with-libmbfl--with-onig--enable-pdo--with-mysqli=mysqlnd--with-pdo-mysql=mysqlnd--with-zlib-dir--with-pdo-sqlite--with-readline--enable-session--enable-shmop--enable-simplexml--enable-sockets--enable-sysvmsg--enable-sysvsem--enable-sysvshm--enable-wddx--with-libxml-dir--with-xsl--enable-zip--enable-mysqlnd-compression-support--with-pear--enable-fastcgi--enable-opcache
这一步操作有报错:mcrypt.h not found. Please reinstall libmcrypt,说明缺少libmcrypt库,下载安装libmcrypt库,编译安装
参考:http://blog.163.com/yxba_02/blog/static/1875576201272583532588/?NdsKey=61800
4、php安装
make && make install
5、配置环境变量
vi /etc/profile 在末尾追加export PATH=$PATH:/usr/local/php/bin
source /etc/profile ##执行命令使改动生效
6、配置php-fpm
cpphp.ini-production /etc/php.ini
cp/usr/local/php/etc/php-fpm.conf.default /usr/local/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
cp/usr/local/tar/php.7.1.6/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpmchmod +x /etc/init.d/php-fpm
7、启动php
/etc/init.d/php-fpm start
启动报错:Starting php-fpm PHP: syntax error, unexpected '=' in Unknown on line 1
[21-Jun-2017 16:23:31] ERROR: Unable to include /usr/local/php/etc/php-fpm.d/www.conf from /usr/local/php/etc/php-fpm.conf at line 23
[21-Jun-2017 16:23:31] ERROR: failed to load configuration file '/usr/local/php/etc/php-fpm.conf'
[21-Jun-2017 16:23:31] ERROR: FPM initialization failed
解决方法:修改/usr/local/php/etc/php-fpm.d/www.conf文件,找到user=nginx--with-fpm-group=nginx修改成user=nobody
8、检测启动成功
ps -ef | grep php
9、检测启动是否成功及php文件运行测试


三、安装MYSQL
注意:mysql 5.7需要boost 1.59以及以上版本,需要在sourceforge上下载。地址为: https://dl.bintray.com/boostorg/release/1.64.0/source/boost_1_64_0.tar.gz
1、进入tar目录,下载mysql,下载地址:https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.17.tar.gz
wgethttps://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.17.tar.gz
下载安装boost(一定要下载这个版本,我之前下载了更高版本,使用cmake编译时出错)
wgethttps://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz
tar -zxvfboost_1_59_0.tar.gz
mv boost_1_59_0 /usr/local/boost
2、添加mysql用户及用户组
groupadd mysql
useradd -r -g mysql mysql
3、解压
tar -zxvfmysql-5.7.17.tar.gz
4、使用cmake和make来进行编译
cmake. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-DMYSQL_DATADIR=/var/mysql/data-DDEFAULT_CHARSET=utf8-DDEFAULT_COLLATION=utf8_general_ci-DMYSQL_TCP_PORT=3306-DMYSQL_USER=mysql-DWITH_MYISAM_STORAGE_ENGINE=1-DWITH_INNOBASE_STORAGE_ENGINE=1-DWITH_ARCHIVE_STORAGE_ENGINE=1-DWITH_BLACKHOLE_STORAGE_ENGINE=1-DWITH_MEMORY_STORAGE_ENGINE=1-DENABLE_DOWNLOADS=1-DDOWNLOAD_BOOST=1-DWITH_BOOST=/usr/local/boost
如果遇到问题:cmake 未找到命令
解决办法:安装cmake命令
下载cmake命令:wgethttps://cmake.org/files/v3.7/cmake-3.7.0.tar.gz
tar -zxvfcmake-3.7.0.tar.gz
./bootstrap
make && make install
vi /etc/profile ##最后一行添加export PATH=/usr/local/tar/cmake-3.7.0/bin:$PATH
source /etc/profile ##执行命令使改动生效
5、编译安装(这个过程很长,请耐心等待,我用了4-5个小时左右)
make && make install
6、mysql初始化
cd /usr/local/mysql/bin
./mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/var/mysql/data
7、修改用户用户组权限
chown -R mysql:mysql /usr/local/mysql ##需要root权限
8、其他设置
vi /etc/profile ##需要root,在文件的最后面加入export PATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/lib
cp -a /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
cp -a /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
9、启动及设置开机启动
/etc/init.d/mysqld restart 或者 service mysqld restart
chkconfig --level 35 mysqld on ##设置开机启动
10、修改root密码
mysql -u root
mysql> use mysql;
mysql>update user set authentication_string=password('123456') where user='root' and Host = 'localhost';
mysql> FLUSH PRIVILEGES;
11、检测启动是否成功
ps -ef | grep mysql


阅读全文
0 0
原创粉丝点击