This thread is meant to record a question that I feel interesting during my self-study. I'm very happy to receive your suggestion and comments.
Theorem: Let $X \subset \mathbb R^d$ be non-empty open convex. There is a sequence $(Y_n)$ of bounded open convex sets such that $\overline{Y_n} \subset Y_{n+1}$ and $\bigcup_n Y_n = X$.
Let $d_{X^c} (x) = \min_{y \in X^c} \|x-y\|$. It is straightforward to show that $d_{X^c}$ is continuous and $d_{X^c}(x)>0$ iff $x \in X$ (since $X$ is open).
Define $Y_n = \{x \in X | d_{x \in X^c}(x) > {1 \over n} \}$. It is straightforward to show that $\overline{Y_n} = \{x \in X | d_{x \in X^c}(x) \ge {1 \over n} \} \subset Y_{n+1}$ and $\cup_n Y_n = X$.
To see that $Y_n$ is convex, suppose $x,y \in Y_n$ and $\delta = \min(d_{x \in X^c}(x), d_{x \in X^c}(y)) > {1 \over n}$. Then if $B$ is the open unit ball, we have $\{x\} + \delta B \subset X$ and $\{y\} + \delta B \subset X$ and so $\lambda (\{x\} + \delta B) + (1-\lambda) (\{x\} + \delta B) = \{\lambda x + (1-\lambda)y\} + \delta B \subset X$. In particular, $d_{x \in X^c} (\lambda x + (1-\lambda)y\}) \ge \delta > {1 \over n}$.