lnmp实现多个虚拟主机,部署wordpress和phpmyadmin,并为后一个主机提供https;
(1)yum安装部署
安装nginx [iyunv@luffy yum.repos.d]# vim nginx.repo [nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/7/$basearch/ gpgcheck=0 enabled=1 [iyunv@luffy ~]# yum install -y nginx 安装php [iyunv@luffy ~]# yum install php-fpm -y [iyunv@luffy ~]# vim /etc/php-fpm.d/www.conf listen = 127.0.0.1:9000 user = nginx group = nginx
配置nginx对接php,把nginx 通过fastcgi作为fastcgi的客户端,将php网页反向代理给fastcgi服务端 [iyunv@luffy ~]# vim /etc/nginx/nginx.conf worker_processes 3; gzip on; include /etc/nginx/conf.d/*.conf; [iyunv@luffy ~]# vim /etc/nginx/conf.d/default.conf index index.phpindex.html index.htm; root /data/www location ~ \.php$ { root /data/www; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /data/www/$fastcgi_script_name; include fastcgi_params; } [iyunv@luffy ~]# mkdir -p /data/www [iyunv@luffy ~]# nginx -t [iyunv@luffy ~]# nginx [iyunv@luffy ~]# systemctl start php-fpm.service 测试nginx和php的连接 [iyunv@luffy ~]# vim /data/www/index.php <?php phpinfo(); ?>
安装mariadb和php与maridb之间的驱动 [iyunv@luffy html]# yuminstall mariadb-server php-mysql -y [iyunv@luffy html]# systemctl start mariadb MariaDB [(none)]> grant all on *.* to zou@'localhost'identified by '123.comer'; MariaDB [(none)]> create database wordpress; MariaDB [(none)]> grant all on wordpress.* to'wpuser'@'localhost' identified by 'wppasswd'; MariaDB [(none)]> flush privileges; [iyunv@luffy ~]# vim /data/www/index.php <?php $conn=mysql_connect('localhost','zou','123.comer'); if($conn) echo "web is ok"; else echo fault; mysql_close(); phpinfo(); ?> [iyunv@luffy html]# systemctl reload php-fpm
[iyunv@luffy html]# yum install httpd-tools -y
准备搭建wordpress了 把wordpress下载下来,并解压缩到/data/www目录下面 [iyunv@luffy wordpress]# pwd /data/www/wordpress [iyunv@luffy wordpress]# cp wp-config-sample.php wp-config.php [iyunv@luffy wordpress]# vim wp-config.php define('DB_NAME', 'wordpress'); define('DB_USER', 'wpuser'); define('DB_PASSWORD', 'wppasswd'); define('DB_HOST', 'localhost');
之后输入已经设定好的网页版的管理者zou和密码
准备设置phpmyadmin [iyunv@luffy phpmyadmin]# pwd /data/www/phpmyadmin [iyunv@luffy phpmyadmin]# vim libraries/config.default.php $cfg['Servers'][$i]['host'] = 'localhost'; $cfg['Servers'][$i]['user'] = 'zou'; $cfg['Servers'][$i]['password'] = '123.comer'; [iyunv@luffy phpmyadmin]# yum install php-mbstring [iyunv@luffy html]# systemctl reload php-fpm [iyunv@luffy phpmyadmin]# nginx -s reload
有错,php.ini的session问题 [iyunv@luffy php]# vim /etc/php.ini session.use_cookies = 1 session.save_path = "/tmp" 在phpmyadmin中找到,config.sample.inc.php,改成config.inc.php,找到$cfg['blowfish_secret'] 将后面的赋值,加入数字和字母组合(最好位数在16位左右) [iyunv@luffy php]# mkdir /var/lib/php/session [iyunv@luffy php]# chmod 777 /var/lib/php/session/ [iyunv@luffy php]# nginx -s reload [iyunv@luffy php]# systemctl reload php-fpm
(2)编译安装LNMP # yum groupinstall "Development Tools""Server Platform Development" -y gzip模块需要zlib库,rewrite模块需要pcre库,ssl功能需要openssl,所以要安装 # yum install pcre-develzlib-devel openssl-devel -y # useradd -r nginx [iyunv@localhost src]# tar zxvf nginx-1.10.1.tar.gz [iyunv@localhost src]# cd nginx-1.10.1/ # ./configure --prefix=/usr/local/nginx--sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf--error-log-path=/var/log/nginx/error.log--http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid--lock-path=/var/run/nginx.lock --user=nginx --group=nginx--with-http_ssl_module --with-http_v2_module --with-http_dav_module --with-http_stub_status_module --with-threads--with-file-aio # make -j 4 # make install # nginx -t 检查语法 # nginx -s {stop|start|reopen|reload} 进程的管理
mariadb客户端编译安装服务 (这里实际上并算不上是编译安装,mariadb压缩包解压完之后就可以安装,二进制格式安装) [iyunv@zou src]# tar xf mariadb-5.5.46-linux-x86_64.tar.gz [iyunv@zou src]# mvmariadb-5.5.46-linux-x86_64 /usr/local/mysql [iyunv@localhostlocal]# useradd -r mysql [iyunv@localhost local]# cd /usr/local/mysql/ [iyunv@localhost mysql]# chown -R root:mysql ./* [iyunv@localhostmysql]# ll [iyunv@localhost mysql]# mkdir -p /data/mariadb [iyunv@localhost mysql]# scripts/mysql_install_db --user=mysql --datadir=/data/mariadb [iyunv@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysqld [iyunv@localhost mysql]# support-files/my-large.cnf /etc/my.cnf [iyunv@localhost ~]# vim /etc/my.cnf 添加三个选项: datadir = /data/mariadb innodb_file_per_table = ON skip_name_resolve = ON [iyunv@localhost ~]# /etc/init.d/mysqld start Starting MySQL.. SUCCESS! [iyunv@localhost ~]# ss -ntlp 查看3306端口 [iyunv@localhost ~]#/usr/local/mysql/bin/mysql 可以登录即可 MariaDB [(none)]> grant all on *.* to 'zou'@'%' identifiedby '123.comer'; MariaDB [(none)]> flush privileges;
编译安装php [iyunv@haizei src]# yum install mariadb mariadb-devel [iyunv@haizei src]# yum install libxml2-devel gd-develfreetype-devel libmcrypt-devel [iyunv@haizei php-5.4.40]# mkdir /usr/lib/mysql [iyunv@haizei php-5.4.40]#cp -r /usr/lib64/mysql/*/usr/lib/mysql/
[iyunv@haizei php54]# ./configure --prefix=/usr/local/php54--with-mysql=/usr --with-openssl --with-mysqli=/usr/bin/mysql_config--enable-mbstring --enable-xml --enable-sockets --with-freetype-dir --with-gd--with-libxml-dir=/usr --with-zlib --with-jpeg-dir --with-png-dir --with-mcrypt--enable-fpm --with-config-file-path=/etc/php54/php.ini--with-config-file-scan-dir=/etc/php54/php.d
[iyunv@haizei php-5.4.40]# make -j 2 [iyunv@haizei php-5.4.40]# make install [iyunv@haizei php54]# cd /usr/local/php54 [iyunv@haizei php54]# cp etc/php-fpm.conf.default etc/php-fpm.conf [iyunv@haizei php54]# vim etc/php-fpm.conf listen = 127.0.0.1:9000 (如果对外响应也可以写上主机的ip加上9000端口) user = nginx group = nginx [iyunv@haizei php54]# sbin/php-fpm 启动服务 (如果关闭就用pkill php-fpm) [iyunv@haizei php54]# ss -ntlp 查看监听的服务
[iyunv@localhost php54]# vim /etc/nginx/nginx.conf location / { root /data/www; index index.php index.html index.htm; } location ~ \.php$ { root /data/www; fastcgi_pass 127.0.0.1:9000; 如果php服务端不在本地,那就要写php的ip和端口了 fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /data/www/$fastcgi_script_name; include fastcgi_params; } [iyunv@localhost php54]# mkdir -p /data/www [iyunv@localhost php54]# vim /data/www/index.php [iyunv@localhost php54]# iptables -F [iyunv@localhost php54]# setenforce 0 [iyunv@localhost php54]# nginx -s reload
|