Install Nginx on CentOS

环境:CentOS7.6

安装:yum install -y nginx

配置文件:/etc/nginx/conf.d/www.conf

文件内容:

通过重启:systemctl reload nginx

在webs下方写一个index.php文件,内容为:

通过浏览器访问,如果无法显示通过日志文件查看tail /var/log/nginx/error.log

Add New Extension For PHP

环境:CentOS 7,PHP 7.3.9

这里介绍一个给php单独添加扩展的方式。针对通过源码编译的php。这里是安装intl扩展。intl需要有icu。

1.先安装icu,下载icu源码包(下载地址:http://site.icu-project.org/):wget https://github.com/unicode-org/icu/releases/download/release-64-2/icu4c-64_2-src.zip

2.解压icu4c-64_2-src.zip:unzip icu4c-64_2-src.zip

3.进入icu源码目录:cd icu/source

4.配置icu安装目录:./configure –prefix=/usr/local/icu

5.执行编译:make && make install

安装好icu后,安装intl:
1.获取intl(如果你是源码安装的话,并且没有删除源码包,那么可以在源码包中找到intl,位置在源码包目录下的ext目录中;如果没有的话也没关系,从网络上获取http://pecl.php.net/get/intl-3.0.0.tgz):wget http://pecl.php.net/get/intl-3.0.0.tgz

2.解压intl.tgz文件:tar -zxvf intl-3.0.0.tgz

3.进入intl目录:cd intl-3.0.0

4.运行phpize命令(这是一个可以将临时想添加的扩展添加到php中。ps.它不是自动添加的,还是要手动):phpize

5.配置intl:./configure –enable-intl –with-icu-dir=/usr/local/icu –with-php-config=/usr/local/php/bin/php-config

6.开始进行源码编译:make && make install

7.将编译后的扩展添加到php.ini中(php.ini的目录:通过php -i | grep php.ini命令查看):vim php.ini

8.找到有一大堆extension的地方,写入extension intl.so,格式跟其它extension写法相同,对于不同的安装方式intl.so的位置不同,可以使用绝对路径添加。

9.重启php(因为我这里有php-fpm):systemctl restart php-fpm

10.通过php-fpm查看该模块是否安装上去(安装上去的话会显示出来,也可以通过浏览器访问phpinfo页面的方式):php-fpm -m

Gogs: Build Your Private Repositories

搭建个人代码存储库
环境:CentOS 7.3,mysql 5.7

1.首先安装git:yum install -y git
2.查看git版本:git –version
3.添加用户组:groupadd git
4.添加用户:useradd -g git git
5.修改密码:passwd git
6.切换到git用户:su git
7.到git的家目录:cd ~

数据库的安装不再做赘述。

获取gogs(gogs包的地址: https://dl.gogs.io):
1.wget -c “https://dl.gogs.io/0.11.86/gogs_0.11.86_linux_amd64.zip” -O gogs.zip
2.解压:unzip gogs.zip
3.进入gogs的目录:cd gogs
4.运行命令:./gogs web,通过浏览器: “ip:端口号” 即可访问gogs。默认端口为3000

gogs挂起(即使断开ssh的连接,它也会运行,不过关机或者重启后需要重新运行该命令):nohup ./gogs web &

nginx的反向代理到二级域名:比如域名为gogs.fixbugs.cn
1.编辑nginx的配置文件nginx.conf(具体文件位置依安装方式而定):vim /etc/nginx/nginx.conf
2.再nginx.conf中的http块的最下方添加:include /etc/nginx/conf.d/*.conf;

3.在/etc/nginx/conf.d/下写配置文件(命名方式xxx.conf):vim /etc/nginx/conf.d/gogs.conf内容如下:

4.保存退出后,nginx -s reload就可以通过域名访问gogs.

Load Balancing On Nginx And Docker Env

环境:阿里云 CentOS7, Ngnix 1.16.1,内核>=3.10

查看内核版本:
uname -r
查看系统版本:
cat /etc/redhat-release
安装依赖:
yum install -y yum-utils device-mapper-persistent-data lvm2
添加软件源:
yum-config-manager –add-repo https://download.docker.com/linux/centos/docker-ce.repo
搜索是否有docker-ce:
yum list docker-ce –showduplicates | sort -r
安装docker-ce:
yum install docker-ce
打开docker-ce:
systemctl start docker
设置开机自启:
systemctl enable docker
查看docker版本:
docker version
拉取nginx:
docker pull nginx

做两个目录作为docker中2个服务器的根目录:
mkdir -p /www/web1/
mkdir -p /www/web2/
放入2个index.html:
touch /www/web1/index.html
touch /www/web2/index.html
随便往html文件中填入内容,可以分辨即可。

开启docker中2个nginx服务:
docker run -itd -p 8080:80 -v /www/web1:/usr/share/nginx/html –name web1 nginx
docker run -itd -p 8081:80 -v /www/web2:/usr/share/nginx/html –name web2 nginx
可以通过docker ps查看正在运行的容器。

配置宿主机的conf文件:
vim /usr/local/nginx/conf/nginx.conf
在http{}末尾添加(weight=1表示权重,权重越高被访问的次数也就越多):
upstream 47.96.104.4{
server 47.96.104.4:8080 weight=1;
server 47.96.104.4:8081 weight=1;
}
在server中location中添加(http://***,***添加的是upstream后面的那个名字):
proxy_pass http://47.96.104.4
注意将server中的server_name那一行注释去掉并且将server_name后的内容修改为ip地址。
location修改完后将变成:
location / {
          root   html;
            index  index.html index.htm;
    proxy_pass http://47.96.104.4;
}
注意:如果是云服务器,记得开放相应的端口号。

通过浏览器访问: http://47.96.104.4
多次刷新页面将会显示不同的内容,内容根据index.html中所填写的内容显示。

Install Nginx By Compile Sources

环境:阿里云 CentOS7.3

1.安装pcre
安装在/usr/local/下:
cd /usr/local
获取pcre包,注意不要获取pcre2的包,否则编译Nginx将出错:
网址:https://ftp.pcre.org/pub/pcre/
wget https://ftp.pcre.org/pub/pcre/pcre-8.43.tar.gz
解压pcre压缩包:
tar -zxvf pcre-8.43.tar.gz
进入pcre目录:
cd pcre-8.43
对环境进行配置检查:
./configure
编译并安装:
make && make install

2.安装zlib
安装在/usr/local/下:
cd /usr/local
获取zlib:
网址:http://zlib.net/
wget http://zlib.net/zlib-1.2.11.tar.gz
解压zlib包:
tar -zxvf zlib-1.2.11.tar.gz
进入zlib目录:
cd zlib-1.2.11
对环境进行配置检查:
./configure
编译并安装:
make && make install

3.安装openssl
安装在/usr/local/下
cd /usr/local
获取openssl:
网址:https://www.openssl.org/source/
wget https://www.openssl.org/source/openssl-1.1.1c.tar.gz
解压openssl包:
tar -zxvf openssl-1.1.1c.tar.gz
进入openssl目录:
cd openssl-1.1.1c
对环境配置检查:
./config
编译并安装:
make && make install

4.安装nginx:
安装在/usr/local/下:
cd /usr/local
获取nginx:
网址:http://nginx.org/en/download.html
wget http://nginx.org/download/nginx-1.16.1.tar.gz
解压nginx:
tar -zxvf nginx-1.16.1.tar.gz
进入nginx目录:
cd nginx-1.16.1
对环境进行配置检查:
./configure –prefix=/usr/local/nginx –with-pcre=/usr/local/pcre-8.43 –with-zlib=/usr/local/zlib-1.2.11 –with-openssl=/usr/local/openssl-1.1.1c
进行编译安装:
make && make install

开启nginx:
/usr/local/nginx/sbin/nginx
关闭nginx:
/usr/local/nginx/sbin/nginx -s stop
重启nginx:
/usr/local/nginx/sbin/nginx -s restart
通过浏览器浏览,输入ip地址。