LNMP+Wordpress架构部署!

代码 代码 1243 人阅读 | 0 人回复

<
LNMP+Wordpress



状况布置

装备:CentOS7,192.168.118.33(专主那里正在一台装备上布置)


  • 封闭防水墙,中心防护
  1. [root@localhost ~]# hostnamectl set-hostname docker_lnmp
  2. [root@localhost ~]# su
  3. [root@docker_lnmp ~]# systemctl stop firewalld
  4. [root@docker_lnmp ~]# systemctl disable firewalld
  5. [root@docker_lnmp ~]# setenforce 0
复造代码


  • 装置docker源,装置docker
  1. [root@docker_lnmp ~]# yum install -y yum-utils device-mapper-persistent-data lvm2
  2. [root@docker_lnmp ~]# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  3. 已减载插件:fastestmirror, langpacks
  4. adding repo from: https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  5. grabbing file https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo
  6. repo saved to /etc/yum.repos.d/docker-ce.repo
  7. [root@docker_lnmp ~]# yum install -y docker-ce
  8. [root@docker_lnmp ~]# systemctl start docker
  9. [root@docker_lnmp ~]# systemctl enable docker
  10. Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
复造代码


  • 创立dockerfile目次
  1. [root@docker_lnmp ~]# mkdir docker && cd docker
  2. [root@docker_lnmp docker]# yum install -y tree
复造代码
布置LNMP



  • 正在docker目次创立nginx战mysql目次,上传nginx-1.12.2.tar.gz、wordpress-4.9.4-zh_CN.tar、libmcrypt-2.5.7.tar.gz、nginx.conf、wp-config.php等包到两个目次下
  1. [root@docker_lnmp docker]# mkdir nginx mysql
  2. [root@docker_lnmp docker]# cd nginx/
  3. [root@docker_lnmp nginx]# touch Dokcerfile
  4. ##别离解压,成果以下
  5. [root@docker_lnmp docker]# tree -L 2
  6. .
  7. ├── mysql
  8. │   ├── Dockerfile
  9. │   ├── mysql-5.7.20
  10. │   └── mysql-boost-5.7.20.tar.gz
  11. └── nginx
  12.     ├── Dockerfile
  13.     ├── libmcrypt-2.5.7
  14.     ├── libmcrypt-2.5.7.tar.gz
  15.     ├── nginx-1.12.2
  16.     ├── nginx-1.12.2.tar.gz
  17.     ├── nginx.conf
  18.     ├── php-5.5.38
  19.     ├── php-5.5.38.tar.gz
  20.     ├── wordpress
  21.     ├── wordpress-4.9.4-zh_CN.tar.gz
  22.     └── wp-config.php
  23. 7 directories, 9 files
复造代码


  • 施行以下号令
  1. [root@docker_lnmp docker]# cd nginx/
  2. [root@docker_lnmp nginx]# cat >>Dockerfile <<EOF
  3. FROM docker.io/centos:7
  4. #布置nginx
  5. RUN yum -y update
  6. RUN yum -y install gcc gcc-c++ openssl-devel openssl autoconf cmake autoconf zlib zlib-devel libtool pcre pcre-devel wget net-tools make
  7. RUN groupadd  -g 900 nginx && useradd nginx -g nginx -s /sbin/nologin
  8. ADD nginx-1.12.2 nginx-1.12.2
  9. RUN cd /nginx-1.12.2/ && ./configure --prefix=/usr/local/nginx --with-http_dav_module  --with-http_stub_status_module --with-http_addition_module --with-http_sub_module --with-http_flv_module --with-http_mp4_module --with-http_ssl_module --with-http_gzip_static_module --user=nginx --group=nginx
  10. RUN cd /nginx-1.12.2/ && make && make install
  11. RUN ln -s /usr/local/nginx/sbin/nginx  /usr/local/sbin/
  12. RUN sed -i &#39;1afastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;&#39; /usr/local/nginx/conf/fastcgi_params
  13. ADD nginx.conf /usr/local/nginx/conf/
  14. ADD wordpress /usr/local/nginx/html/wordpress
  15. ADD wp-config.php /usr/local/nginx/html/wordpress
  16. #布置php
  17. RUN yum -y install gcc gcc-c++ libxml2-devel libcurl-devel openssl-devel bzip2-devel  openssl automake make autoconf libtool zlib-devel make pcre-devel wget net-tools
  18. ADD libmcrypt-2.5.7 libmcrypt-2.5.7
  19. RUN cd libmcrypt-2.5.7/&& ./configure --prefix=/usr/local/libmcrypt && make && make install
  20. ADD php-5.5.38 php-5.5.38
  21. RUN  cd php-5.5.38/ && ./configure --prefix=/usr/local/php5.5 --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-openssl --enable-fpm --enable-sockets --enable-sysvshm --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --with-mhash --with-mcrypt=/usr/local/libmcrypt --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2 --enable-maintainer-zts && make && make install
  22. RUN  cd php-5.5.38 && cp php.ini-production /etc/php.ini
  23. RUN  cd /php-5.5.38 && cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
  24. RUN  chmod +x /etc/init.d/php-fpm && chkconfig --add php-fpm && chkconfig php-fpm on
  25. RUN  cp /usr/local/php5.5/etc/php-fpm.conf.default  /usr/local/php5.5/etc/php-fpm.conf
  26. RUN sed -i &#39;s*;pid = run/php-fpm.pid*pid = run/php-fpm.pid*g&#39; /usr/local/php5.5/etc/php-fpm.conf
  27. RUN sed -i &#39;s/user = nobody/user = nginx/g&#39; /usr/local/php5.5/etc/php-fpm.conf
  28. RUN sed -i &#39;s/group = nobody/group = nginx/g&#39; /usr/local/php5.5/etc/php-fpm.conf
  29. RUN sed -i &#39;s/pm.max_children = 5/pm.max_children = 50/g&#39; /usr/local/php5.5/etc/php-fpm.conf
  30. RUN sed -i &#39;s/pm.start_servers = 2/pm.start_servers = 5/g&#39; /usr/local/php5.5/etc/php-fpm.conf
  31. RUN sed -i &#39;s/pm.min_spare_servers = 1/pm.min_spare_servers = 5/g&#39; /usr/local/php5.5/etc/php-fpm.conf
  32. RUN sed -i &#39;s/pm.max_spare_servers = 3/pm.max_spare_servers = 30/g&#39; /usr/local/php5.5/etc/php-fpm.conf
  33. EXPOSE 9000
  34. EXPOSE 80
  35. EOF
复造代码


  • 布置MySQL
  1. [root@docker_lnmp docker]# docker build -t "centos:nginx-php" .
  2. [root@docker-lnmp nginx]# docker images
  3. REPOSITORY   TAG         IMAGE ID       CREATED          SIZE
  4. centos       nginx-php   aae821494984   20 seconds ago   1.5GB
  5. centos       7           8652b9f0cb4c   9 months ago     204MB
  6. [root@docker-lnmp nginx]# docker run -dit -p 80:80 -m 500m --memory-swap 1G aae821494984 /bin/bash
  7. c44f152f883d1fb723c5e4f5cd242f2dbe94921a918f57b6f54c20b2aff56cb7
  8. [root@docker-lnmp nginx]# docker ps
  9. CONTAINER ID   IMAGE          COMMAND       CREATED          STATUS          PORTS                                         NAMES
  10. c44f152f883d   aae821494984   "/bin/bash"   25 seconds ago   Up 24 seconds   0.0.0.0:80->80/tcp, :::80->80/tcp, 9000/tcp   loving_hugle
  11. [root@docker_lnmp docker]#  docker exec -it c44f152f883d /bin/bash
  12. [root@c44f152f883d ~]# /etc/init.d/php-fpm start
  13. [root@c44f152f883d ~]# nginx
  14. [root@c44f152f883d ~]# netstat -antp | grep nginx
  15. tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      85/nginx: master pr
  16. [root@c44f152f883d ~]# netstat -antp | grep php  
  17. tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN      31/php-fpm: master
  18. [root@c44f152f883d ~]# exit
  19. exit
复造代码


  • 设置数据库暗码,进进数据库,受权
  1. [root@docker-lnmp ~]# cd /root/docker/mysql/
  2. ####施行以下号令
  3. cat >>Dockerfile<<EOF
  4. FROM docker.io/centos:7
  5. RUN yum -y install gcc gcc-c++ make autoconf make cmake wget
  6. RUN groupadd mysql; useradd -r -M -u 3306 -s /sbin/nologin -g mysql mysql
  7. RUN mkdir /usr/local/mysql; mkdir /data/mysql -pv
  8. RUN yum install gcc gcc-c++ ncurses-devel bison bison-devel -y
  9. RUN wget -c http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.29.tar.gz
  10. RUN tar xf mysql-5.6.29.tar.gz -C /usr/local/src/
  11. WORKDIR /usr/local/src/mysql-5.6.29
  12. RUN cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DSYSCONFDIR=/etc -DMYSQL_TCP_PORT=3306 -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DDEFAULT_CHARSET=utf8 -DEXTRA_CHARSETS=all -DDEFAULT_COLLATION=utf8_general_ci -DWITH-MYSQLD-LDFLAGS=-all-static -DWITH-CLIENT-LD-FLAGS=-all-static -DWITH_DEBUG=0 && gmake && gmake install
  13. RUN chown -R root:mysql /usr/local/mysql/ && chown -R mysql:mysql /data/mysql
  14. RUN chmod 755 /usr/local/src/mysql-5.6.29/scripts/mysql_install_db.sh
  15. RUN /usr/local/src/mysql-5.6.29/scripts/mysql_install_db.sh --basedir=/usr/local/mysql --datadir=/data/mysql --no-defaults --user=mysql
  16. RUN cp /usr/local/src/mysql-5.6.29/support-files/my-default.cnf  /etc/my.cnf
  17. RUN cp /usr/local/src/mysql-5.6.29/support-files/mysql.server  /etc/init.d/mysqld
  18. RUN chmod 775 /etc/init.d/mysqld && /etc/init.d/mysqld start
  19. RUN echo -e &#39;#!/bin/bash\nexport PATH=$PATH:/usr/local/mysql/bin&#39; >/etc/profile.d/mysql.sh
  20. RUN source /etc/profile
  21. EXPOSE 3306
  22. EOF
  23. ##把MySQL装置进容器
  24. [root@docker-lnmp mysql]# docker build -t "centos:mysql-5.6" .
  25. [root@docker-lnmp mysql]# docker images
  26. REPOSITORY   TAG         IMAGE ID       CREATED          SIZE
  27. centos       mysql-5.6   5fa429158de6   22 minutes ago   5.23GB
  28. centos       nginx-php   aae821494984   19 hours ago     1.5GB
  29. centos       7           8652b9f0cb4c   9 months ago     204MB
  30. [root@docker-lnmp mysql]# docker run -dit -p 3306:3306 --device-write-bps /dev/sda:10M 5fa429158de6 /bin/bash
  31. 21bbe49c32fa10b1ce799247f928609312c81ac6a718a4d790f09525b9e2c662
  32. [root@docker-lnmp mysql]# docker ps
  33. CONTAINER ID   IMAGE          COMMAND       CREATED          STATUS          PORTS                                         NAMES
  34. 21bbe49c32fa   5fa429158de6   "/bin/bash"   31 seconds ago   Up 29 seconds   0.0.0.0:3306->3306/tcp, :::3306->3306/tcp     magical_agnesi
  35. c44f152f883d   aae821494984   "/bin/bash"   19 hours ago     Up 19 hours     0.0.0.0:80->80/tcp, :::80->80/tcp, 9000/tcp   loving_hugle
  36. [root@docker-lnmp mysql]# docker exec -it 21bbe49c32fa /bin/bash
  37. [root@21bbe49c32fa mysql-5.6.29]# /etc/init.d/mysqld start
  38. Starting MySQL............ SUCCESS!
复造代码
  1. [root@21bbe49c32fa mysql-5.6.29]# mysqladmin -uroot -p password
  2. Enter password:
  3. New password:
  4. Confirm new password:
  5. ##创立wordpress表
  6. mysql> create database wordpress default charset utf8 COLLATE utf8_general_ci;
  7. Query OK, 1 row affected (0.00 sec)
  8. mysql> grant all privileges on wordpress.* to &#39;wordpress&#39;@&#39;%&#39; identified by &#39;123456&#39; with grant option;
  9. Query OK, 0 rows affected (0.00 sec)
  10. mysql> flush privileges;
  11. Query OK, 0 rows affected (0.00 sec)
  12. mysql> exit
  13. Bye
  14. [root@21bbe49c32fa mysql-5.6.29]# exit
  15. exit
复造代码
214823ml78npy6ua6s5y8y.png



  • 会见浏览器
214824xkh02k2hoo7r7i0c.jpg


免责声明:假如进犯了您的权益,请联络站少,我们会实时删除侵权内乱容,感谢协作!
1、本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,按照目前互联网开放的原则,我们将在不通知作者的情况下,转载文章;如果原文明确注明“禁止转载”,我们一定不会转载。如果我们转载的文章不符合作者的版权声明或者作者不想让我们转载您的文章的话,请您发送邮箱:Cdnjson@163.com提供相关证明,我们将积极配合您!
2、本网站转载文章仅为传播更多信息之目的,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证信息的正确性和完整性,且不对因信息的不正确或遗漏导致的任何损失或损害承担责任。
3、任何透过本网站网页而链接及得到的资讯、产品及服务,本网站概不负责,亦不负任何法律责任。
4、本网站所刊发、转载的文章,其版权均归原作者所有,如其他媒体、网站或个人从本网下载使用,请在转载有关文章时务必尊重该文章的著作权,保留本网注明的“稿件来源”,并自负版权等法律责任。
回复 关闭延时

使用道具 举报

 
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则