虚拟主机
分类:
- 基于域名:多个域名解析为一个ip地址,不同域名访问不同网站
- 基于IP地址:服务器拥有多个IP地址,不同IP地址访问到不同网站内容
- 基于端口:根据IP地址的不同端口访问
nginx实验
-
基于域名
#创建新的HTML文件 mkdir /usr/local/nginx/html/linuxwei mkdir /usr/local/nginx/html/cloud echo "<h1>www.linuxwei.com</h1>" > /usr/local/nginx/html/linuxwei/index.html echo "<h1>www.cloud.com</h1>" > /usr/local/nginx/html/cloud/index.html
#对nginx.conf配置 server { listen 80; server_name www.linuxwei.com; location / { root html/linuxwei; index index.html index.htm; } } server { listen 80; server_name www.cloud.com; location / { root html/cloud; index index.html index.htm; } }
#在linux解析中添加域名 /etc/hosts 192.168.200.18 www.linuxwei.com 192.168.200.18 www.cloud.com #在本机服务中添加解析 本机c盘里的hosts中添加解析域名
-
基于端口
#修改nginx.conf配置中的IP地址的端口
-
基于IP地址
#在本机中添加子ip ./ifconfig ens33:1 192.168.200.118 #修改nginx.conf配置中的ip netstart -lnotu | grep nginx #查看端口
安装mysql数据库及其部署
-
安装mysql数据库
-
检查以前是否安装过
rpm -q mysql mysql-server mariadb mariadb-server
-
安装配置工具cmake
yum -y install cmake
-
创建运行用户
useradd -M -s /sbin/nologin mysql
-
解压,配置,编译,安装
tar xf mysql-0.0.0.tar.gz -C /usr/src/ cd /usr/src/mysql-0.0.0/ #解压boost包到/sur/local/boost下 cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULY_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DSYSCONFDIR=/etc -DWITH_BOOST=/usr/local/boost && make -j2 && make install #进入mysql将属主属组改为mysql用户 #对/etc/mysql.cnf配置 [mysqld] daradir=/usr/local/mysql/data #定义工作目录 socket=/tmp/mysql.sock #连接文件 [mysqld_safe] #错误日志 log-error=/usr/local/mysql/data/mysql.log pid-file=/usr/local/mysql/data/mysql.pid #初始化数据库 ./bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize //得到密码并保存方便查看 #设置环境变量在mysql里的bin目录下 echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile //profile开机自启动 #添加系统服务 进入mysql-0.0.0 cp support-files/mysql-server /etc/init.d/mysqld //给mysqld提高可执行权限 chmod +x mysqld //启动 /etc/init.d/mysqld start 查看端口3306 #修改密码 mysqladmin -u root -p"密码" password'123123' mysql -uroot -p123123 #进入mysql
-
安装PHP解析环境
-
编译安装PHP
yum -y istall gd libxml2-devel libjpeg-devel libpng-devel tar xf php-0.0.0.0.tar.gz -C /usr/src/ cd /usr/src/php-0.0.0.0 ./configure --prefix=/usr/local/php5 --with-gd --with-zlib --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-config-file-path=/usr/local/php5 --enable-mbstring --enable-fpm --with-jpeg-dir=/usr/lib && make -j2 && make install
-
调整
cp php.ini-production /usr/local/php5/php.ini ln -s /usr/local/php5/bin/* /usr/local/bin/ ln -s /usr/local/php5/sbin/* /usr/local/sbin/
-
安装zendguardlander :提高php解析效率
tar xf zend*** -C /usr/src/ cd /usr/src/zend... cp ZendGuardLoader.so /usr/local/php5/lib/php
-
配置nginx支持PHP环境
通过使用PHP的fpm模块来调用本机的PHP环境- 端口号:9000
- 需要先启动php-fpm
/usr/local/sbin/php-fpm
cd /usr/local/php5/etc/ cp php-fpm.com.default php-fpm #做一个备份 useradd -M -s /sbin/nologin php #做PHP用户 vim php-fpm.conf #进入php配置文件 25 pid = run/php-fpm.pid #确认PHP文件位置 149 user = php #运行用户 150 group = php #运行组 241 pm.max_chlldren = 50 #最多空闲进程数 246 pm.start_servers = 20 #启动时开启的进程数 251 pm.min_spare_servers = 5 #最少空闲进程数 256 pm.max_spare_servers = 35 #最大空闲进程数 #启动后查看9000端口
*配置nginx支持PHP解析
#在server{}端配置中添加location功能 vim /usr/local/nginx/conf/nginx.conf #在注释文件下面配置 location ~ .php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi.conf; } #在PHP文档下面创建一个测试页面 vim /usr/local/nginx/html/php.php #重新启动nginx #在页面中查看出现PHP页面成功
- 测试连接数据库
#添加页面mysql.php vim /usr/local/nginx/html/mysql.php <?php $link=mysqli_connect('localhost','root','123123'); if($link) echo"<h1>成功进入mysql</h1>"; mysqli_close(); ?> mysql -uroot -pmima nginx #页面查看
LNMP平台部署web应用bbs
-
安装源码包:也就是写好的代码包,可以直接使用
unzip ComsenzDiscuz-DiscuzX-master.zip cd Discuzx/ #里面的内容就是要使用的代码包 mv DiscuzX/upload/ /usr/local/nginx/html/bbs #上传到nginx的HTML目录下 #确认9000-php 80-nginx 3306-mysqld 启动正常 /192.168.200.18/bbs/install/index.php
-
根据提示在数据库添加用户
mysql -uroot -pmima mysql > create database bbs; #创建库 mysql > grant all on bbs.* to 'bbs'@'localhost' identified by '123456' #授权 mysql > flush privileges; #刷新
后根据页面提示完成